Java文件操作

什么是文件

文件可认为是相关记录或放在一起的数据的集合.
Java程序中表示文件:Java API=>java.io.File类
File类访问文件属性:
Java文件操作
File类的常用方法:

方法名称 说明
boolean exits() 判断文件或目录是否存在
boolean isFile() 判断是否是文件
boolean isDirectory() 判断是否是目录
String getPath() 返回此对象表示的文件的相对路径名
String getAbsolutePath() 返回此对象表示的文件的绝对路径名
String getName() 返回此对象表示的文件或目录的名称
boolean delete() 删除此对象指定的文件或目录
boolean creatNewFile() 创建名称的空文件,不创建文件夹
long length() 返回文件的长度,单位为字节,如果文件不存在,则返回0L

程序通过流来读写文件:流是指一连串流动的字符(字节),是以先进先出方式发送信息的通道.
Java文件操作
输入/输出流与数据源
Java文件操作
Java流的分类
输入输出流是相对于计算机内存来说的
Java文件操作
字节流是8位通用字节流,字符流是16位Unicode字符流
Java文件操作
文件的读写
文本文件的读写

  • 用FileInputStream和FileOutputStream读写文本文件.
  • 用BufferedReader和BufferedWriter读写文本文件.
    二进制文件的读写
  • 使用DataInputStream和DataOutputStream读写二进制文件.

文本文件的读写

使用字节流读文本文件
Java文件操作
FileInputStream小结
Java文件操作
使用字节流写文本文件

Java文件操作
FileOutputStream小结
Java文件操作
⚠️⚠️⚠️注意
1.前两种构造方法在向文件写数据时将覆盖文件中原有的内容.
2.创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件.
3.创建文件时,必须保证其路径存在,否则文件创建失败.


使用字符流读写文件
Java文件操作
使用FileReader读取文件
Java文件操作
使用BufferedReader读文本文件
如何提高字符流读取文本文件的效率?
使用FileReader类BufferedReader类.
BufferedReader类是Reader类的子类,带有缓冲区,按行读取内容的readLine()方法(这是BufferedReader类特有的方法)
Java文件操作
Reader类常用方法

  • int read()
  • int read(byte[] c)
  • read(char[] c,int off,int len)
  • void close()
    子类BufferedReader常用的构造方法
  • BufferedReader(Reader in)
    子类BufferedReader特有的方法
  • readLine()
    FileWriter写文件
    Java文件操作
    使用BufferedWriter写文件
    如何提高字符流读取文本文件的效率?
    使用FileWriter类BufferedWriter类.
    BufferedWriter类是Writer类的子类,带有缓冲区。
    Java文件操作
    Writer类常用方法
  • writeString str)
  • write(String str,int off,int len)
  • void close()
  • void flush()
    子类BufferedWriter常用的构造方法
  • BufferedWirter(Writer out)

二进制文件的读写

DataInputStream类

  • FileInputStream的子类
  • 与FileInputStream类结合使用读取二进制文件
    DataOutputStream类
  • FileOutputStream的子类
  • 与FileOutputStream类结合使用读取二进制文件
    使用DataInputStream读二进制文件
    Java文件操作
    使用DataOutputStream写二进制文件
    Java文件操作

Properties文件

在配置文件中经常用到"键-值"对的组合.
常见的properties文件:
用户的配置;用户密码的保存等等.
Java文件操作
使用Properties类读出配置
Java中可以使用Properties类来读取和写入Properties文件.
Java文件操作
Properties类
Java文件操作
使用Properties类写入配置
Java文件操作


小结

  • File类用于访问文件或目录的属性
  • 程序和数据源之间通过流练习
    输出流和输入流
    字节流和字符流
  • FileInputStream和FileOutputStream以字节流的方式读写文本文件
  • BufferedReader和BufferedWriter以字符流的方式读写文本文件,而且效率更高
  • DataInputStream和DataOutputStream 可用于读写二进制文件
  • 使用Properties类可以方便地读出和写入配置文件