zoukankan      html  css  js  c++  java
  • JAVA文件操作

    1、java.io.File类

    表示文件或目录,并定义了一些重要method操作文件和目录。但是一般文件的读写都通过流来操作。

    重要操作:

    判断是否是文件夹:

    1. File.isDirectory()

    判断是否是文件:

    1. File.isFile()

    在File类中进行目录的列表操作:

    1. public String[] list()
    2. public File[] listFiles()

    得到文件路径: 

    1. public String getPath()

    得到上级路径: 

    1. public String getParent()

    创建目录

    1. public bool mkdir()

    2、java.io的输入/输出流

        InputStream (abstract)和OutputStream (abstract)类是用于读取和写入字节流。InputStream的实现子类FileInputStream(File file)为文件的字节读取流,子类AudioInputStream为音频的读取流,PipedInputStream为管道输入流。OutputStream的实现子类FileOutputStream(File file)为文件的字节输出流,PipedOutputStream为管道输出流

        InputStream的read()方法以字节为单位读入数据,OutputStream的write()方法将指定字节写入输出流。

        Reader (abstract)和Writer (abstract)类用于读取和写入字符串流。Reader的子类InputStreamReader类将一个字节流转化为字符串流,通过read()方法从底层的字节流中读取一个或多个字符;FileReader类用于从文本文件中读取字符;(包装类)BufferedReader类用于从字符流中读取文本,通过readLine()方法读取字符流中的一行。对于Writer类有类似的子类实现OutputStreamWriter, FileWriter, (包装类)BufferedWriter(用于write()方法开销较大的类,多次缓冲,一次写入), (包装类)PrintWriter(提供带格式的输出println()等等)

    可以这么说,真正的输入输出流是InputStream/OutputStream,Reader/Writer是针对字符转化的包装。

    应用举例

    1. result = new PrintWriter(new File("result.txt")); //字符文件写入流
    2. segments[i] = new BufferedReader(new FileReader(i + ".txt")); //字符缓冲读入流
    3. BufferedReader console = new BufferedReader(
    4.       new InputStreamReader(System.in)); //阻塞读字符输入流

    总结的,InputStream包装为InputStreamReader, File包装为FileReader,输出控制不甚严格

    目前经常用在算法测试程序中。需要注意的是,java中当前目录对应的是工程的根目录

  • 相关阅读:
    Winform架构
    SQL2008多数据库查询表或删表
    hdu1114 PiggyBank
    hdu2844 Coins
    hdu2602 Bone Collector
    hdu2191 珍惜现在
    hdu1203 I NEED A OFFER!
    求推荐
    TransparentBlt
    双缓冲加载位图 WinCE
  • 原文地址:https://www.cnblogs.com/zjgtan/p/3317624.html
Copyright © 2011-2022 走看看