IO流基础知识梳理

File 类

该类可以新建,删除,重命名文件和目录,但不能访问文件本身。

  • 访问文件名:

    1
    2
    3
    getName();//返回该对象所表示的文件名或路径
    getPath();//返回该对象所对应的路径名
    renameTo(File newName);//重命名此 File 对象的文件或目录
  • 文件检测

    1
    2
    3
    exists();//判断 file 对象对应的文件或目录是否存在
    isFile();//判断 file 对象是不是文件
    isDirectory();//判断是不是目录;
  • 获取文件信息

    1
    2
    lastModified();//返回文件的最后修改时间
    length();//返回文件内容的长度
  • 文件、目录操作

    1
    2
    createNewFile();//当对象对应的文件不存在的时候,该方法将新建一个该file对象指定的新文件
    list();//列出所有的File对象的所有子文件名和路径名

JAVA的IO流

  • 字节流:处理二进制文件
    抽象基类 &nps;InputStream&nps; 和&nps;OutputStream
    缓冲流 &nps; BufferedInputStream &nps;和 &nps;BufferedOutputStream
  • 字符流:处理文本文件
    抽象基类 &nps;Reader &nps;和&nps; Writer
    缓冲流 &nps;BufferedReader &nps;和&nps; BufferedWriter

  • 转换流:将字节流转换成字符流
    &nps;nputStreamReader&nps; 和&nps; OutputStreamWriter
    为了更高效,我们通常可以进行这样的处理
    !()[https://raw.githubusercontent.com/rexana3/picture/master/IO%E6%B5%81/1.png]

  • 注意小事项
  1. java的io流执行输出的时候,要关闭输出流,否则,有可能导致一些数据还在缓冲区中,没有输出来,造成数据丢失
  2. BufferdReader的readline()方法是阻塞式的,当读取的文本到达末尾的时候,它并不会返回null,而是一直等待新的输入。这个问题在上一篇博文进行了详述。感兴趣的可以看一看。
您的支持将鼓励我继续创作!