文件读写

文件操作小结

java.io包提供大量的流类,其中InputStream,OutputStream,Reader和Writer类是最重要的四个抽象类

InputStream类及其子类对象为字节输入流

OutputStream类及其子类对象为字节输出流

Reader类及其子类对象为字符输入流

Writer类及其子类对象字符输出流

字节流即以字节为单位传输的流

字符流即以字符为单位传输的流

文件字节流FileInputStream和FileOutputStream

  • 文件字节流指的是以字节为单位操作文件

  • FileInputStream用来读取文件

    构造方法 说明
    FileInputStream(String name); 通过文件名创建输入流
    FileInputStrea(File file); 通过文件创建输入流
    方法 作用
    int read() 输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0~255之间的一个整数)。如果未读出就返回-1。
    int read(byte[] b) 输入流调用该方法从源中试图读取b.length[]个字节到字节数组b中,返回实际读取的字节数目。如果到达文件的末尾,则返回-1。
    int read(byte[] b,int off,int len) 输入流调用该方法从源中试图读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件末尾,则返回-1。参数off指定从字节数组的某个位置开始存放读取的数据
    void close() 关闭输入流

    FileInputStream流顺序的读取文件,只要不关闭流,每次调用read方法就顺序的读取文件源中其余的内容,直到读到源的末尾或流被关闭(调用close方法,虽然程序结束时会自动关闭所有打开的流,但是显式的关闭任何打开的流仍是一个好习惯)

  • FileOutputStream用来写入文件

    构造方法 说明
    FileOutputStrea(String name); 通过文件名创建输出流
    FileOutputStream(File file); 通过文件创建输出流
    FileOutputStream(String name,boolean append); 通过文件名创建输出流,创建时指定是否追加写入(append=true or false)
    FileOutputStream(File file,boolean append); 通过文件创建输出流,创建时指定是否追加写入(append=true or false)

    注意:

    1.FileOutpueStream默认apend参数为false,即默认覆盖目标文件

    2.FileOutputStream创建时当目标文件不存在时,会创建目标文件

    方法 作用
    void write(int n) 输出流调用该方法向目的地写入单个字节
    void write(byte b[]) 输出流调用该方法向目的地写入一个字节数组
    void write(byte b[],int off,int len) 输出流调用该方法从指定字节数组中的off偏移量处取出len个字节写到目的地
    void close() 关闭输出流

文件字符流FileReader和FileWriter

  • 文件字节流即以字节为单位操作文件

  • FileReader用来读取文件

    构造方法
    FileReader(String filename)
    FileReader(File filename)
  • FileWriter用来写入文件

    构造方法
    FileWriter(String filename)
    FileWriter(File file)
    FileWriter(String filename,boolean append)
    FileWriter(File file,boolean append)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章