什么是文件
文件可认为是相关记录或放在一起的数据的集合.
Java程序中表示文件:
Java API=>java.io.File类
File类访问文件属性:
File类的常用方法:
boolean exits()
判断文件或目录是否存在
boolean isFile()
判断是否是文件
boolean isDirectory()
判断是否是目录
String getPath()
返回此对象表示的文件的相对路径名
String getAbsolutePath()
返回此对象表示的文件的绝对路径名
String getName()
返回此对象表示的文件或目录的名称
boolean delete()
删除此对象指定的文件或目录
boolean creatNewFile()
创建名称的空文件,不创建文件夹
long length()
返回文件的长度,单位为字节,如果文件不存在,则返回0L
流
程序通过流来读写文件:
流是指一连串流动的字符(字节),是以先进先出方式发送信息的通道.
输入/输出流与数据源
Java流的分类
输入输出流是相对于计算机内存来说的
字节流是8位通用字节流,字符流是16位Unicode字符流
文件的读写
文本文件的读写
- 用FileInputStream和FileOutputStream读写文本文件.
- 用BufferedReader和BufferedWriter读写文本文件.
二进制文件的读写
- 使用DataInputStream和DataOutputStream读写二进制文件.
文本文件的读写
使用字节流读文本文件
FileInputStream小结
使用字节流写文本文件
FileOutputStream小结
⚠️⚠️⚠️注意
1.前两种构造方法在向文件写数据时将覆盖文件中原有的内容.
2.创建FileOutputStream实例时,如果相应的文件并不存在,则会
自动创建一个空的文件.
3.创建文件时,必须保证其路径存在,否则文件创建失败.
使用字符流读写文件
使用FileReader读取文件
使用BufferedReader读文本文件
如何提高字符流读取文本文件的效率?
使用
FileReader类与
BufferedReader类.
BufferedReader类是Reader类的子类,带有缓冲区,按行读取内容的readLine()方法(这是BufferedReader类特有的方法)
Reader类常用方法
- int read()
- int read(byte[] c)
- read(char[] c,int off,int len)
- void close()
子类BufferedReader常用的构造方法
- BufferedReader(Reader in)
子类BufferedReader特有的方法
- readLine()
FileWriter写文件
使用BufferedWriter写文件
如何提高字符流读取文本文件的效率?
使用
FileWriter类与
BufferedWriter类.
BufferedWriter类是Writer类的子类,带有缓冲区。
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读二进制文件
使用DataOutputStream写二进制文件
Properties文件
在配置文件中经常用到"键-值"对的组合.
常见的properties文件:
用户的配置;用户密码的保存等等.
使用Properties类读出配置
Java中可以使用Properties类来读取和写入Properties文件.
Properties类
使用Properties类写入配置
小结
- File类用于访问文件或目录的属性
- 程序和数据源之间通过流练习
输出流和输入流
字节流和字符流
- FileInputStream和FileOutputStream以字节流的方式读写文本文件
- BufferedReader和BufferedWriter以字符流的方式读写文本文件,而且效率更高
- DataInputStream和DataOutputStream 可用于读写二进制文件
- 使用Properties类可以方便地读出和写入配置文件