字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象。本质其实就是基于字节流读取时,去查了指定的码表。 字节流和字符流的区别:
结论:只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。
对输入流只能进行读操作,对输出流只能进行写操作,程序中需要根据待传输数据的不同特性而使用不同的流
1.File创建目录有2个方法:
public boolean mkdir() 创建一个目录;
public boolean mkdirs() 创建多个目录。
2. 字节流(8位): FileInputStream 读文本文件
FileOutputStream 写文本文件
字符流(16位): BufferedReader 读文本文件
BufferedWriter 写文本文件
DataInputStream 读取二进制文件
DataOutputStream 写入二进制文件
3.读取写入各种文本
FileInputStream 读文本文件 步骤:
1. 引入相关类
2. 构造一个文件输入流对象
FileInputStream fis=new FileInputStream("");
3. 利用文件输入流类的方法读取文本文件的数据
fis.available();//可读取的字节数
fis.read();//读取文件的数据
4. 关闭流
fis.close();
FileOutputStream 写文本文件 步骤:
1.引入相关类
2.构造一个文件输出流对象
FileOutputStream fos=new FileOutputStream("");
1. 利用文件输出流类的方法把数据写入到文本文件中
String str=" ";
byte[] words=str.getBytes();
fos.write(words,0,words.length);
4. 关闭流
fos.close();
BufferedReader 读文本文件 步骤:
1. 引入相关类
2. 用BufferedReader包装FileReader构造一个BufferedReader 流对象,使用了缓冲区提高读文本文件的效率
FileReader fr=new FileReader("");//创建一个FileReader对象BufferedReader br=new BufferedReader(fr);//创建一个BufferedReader对象
3. 利用BufferedReader的方法读取文本文件的数据
br.readLine();
4. 关闭流
br.close();
fr.close();
BufferedWriter 写文本文件 步骤:
1. 引入相关类
2. 用BufferedWriter包装FileWriter构造一个BufferedWriter流对象,使用了缓冲区提高写文本文件的效率
3. 利用BufferedWriter的方法写文本文件
bw.write("");//利用write方法将数据写入到文件中去
bw.newLine();//利用newLine方法将换行符写入到文件中去
4.关闭流
bw.close();
fw.close();