在Java中数据的读写是通过流的形式进行的,流可以分为输入输出流(input\output),也可以分为字节字符流
对于流,有四个抽象父类:
1,字节流:读取和写入数据的时候,以字节为最小单元进行读取和写入操作 InputStream,OutputStream(数据就是二进制数据)
2,字符流:读取和写入数据的时候,以字符为最小单元进行读取和写入操作,因为每个字符根据编码不同,所占用的字节个数不同,每次读取和写入字符时候,是不定长的字节个数写入读取。
Reader,Writer(基于字节流的概念,建立二进制与字符的对应表,从而实现操作字符的功能,也就是数据就是字符)
对于文件的字符流输入输出,是通过FileReader和FileWriter对象实现:
注意:FileWriter该类对象建立的目的是明确数据所要写入的目的地
构造函数:
FileWriter(“目标文件路径”)//在该路径下建立一个空文件,若在该目录下出现同名文件,将建立一个空文件并覆盖原有文件
FileWriter(“目标文件路径”,boolean flag)//若改路径下没有该文件,则新建一个空文件,否则,若flag为true,则在末尾处续写该文件,若flag为false,则从头开始覆盖该文件
基本方法(继承Writer中的方法):
write(String s)//把字符串写入流中,注意是流中,并没写入文件
write(char[] ch,int start,int end)
write(String s,int start,int end)
flush()//刷新
close()//关闭此输入流并释放与该流关联的所有系统资源。
字节流:
文件输入流FileInputStream:
1)文件输入流是对文件内容读取操作的类
2)是以字节方式进行读取文件内容,属于字节流
文件输出流 FileOutputStream
1)文件输出流是对文件进行写入内容操作的类
2)是以字节方式进行写入文件内容,属于字节流
字符流:
文件字符输入流 FileReader
1)文件字符输入流是对文件内容读取操作的类
2)是以字符方式进行读取文件内容,属于字符流
文件字符输出流 FileWriter
1)文件字符输出流是对文件进行写入内容操作的类
2)是以字符方式进行写入文件内容,属于字符流