输入字符流的缓冲流:
字符流的体系;
----------| Reader 抽象类 , 所有输出字符流的基类。
---------------| FileReader 读取文件字符数据的输入字符流.
---------------| BufferedReader 该类出现的目的:提高读取文件字符数据的效率,对FileReader的功能进行了拓展---readLine()。
public class Demo1 {
public static void main(String[] args) throws IOException {
// readTest1();
File file = new File("f:\\Demo1.java");
//建立文件的输入通道。
FileReader fileReader = new FileReader(file);
String line = null;
while((line=myReadLine(fileReader))!=null){
System.out.println( line);
}
}
//自己实现一个readLine方法。
public static String myReadLine(FileReader fileReader) throws IOException{
StringBuilder sb = new StringBuilder();
int content = 0;
while((content = fileReader.read())!=-1){
if(content=='\r'){
continue;
}else if(content=='\n'){
return sb.toString();
}else{
//正常的字符
sb.append((char)content);
}
}
return null;
}
//使用缓冲输入字符流读取。
public static void readTest1() throws FileNotFoundException, IOException {
File file = new File("f:\\a.txt");
//建立文件的输入通道。
FileReader fileReader = new FileReader(file);
//缓冲输入字符流
BufferedReader bufferedReader = new BufferedReader(fileReader);
//读取文件的数据
String line = null;
while((line = bufferedReader.readLine())!=null){
System.out.println(Arrays.toString(line.getBytes()));
}
//关闭资源
bufferedReader.close();
}
}
BufferedWriter 缓冲输出字符流
体系:
--------| Writer 抽象类 所有输出字符流的基类。
-----------| FileWriter 向文件输出数据的输出字符流.
-----------| BufferedWriter 缓冲输出字符流, 目的: 为了提高写文件数据的效率以及拓展FileWriter的功能。
public class Demo2 {
public static void main(String[] args) throws IOException {
//找到目标文件
File file = new File("f:\\a.txt");
//建立数据输出通道
FileWriter fileWriter = new FileWriter(file,true);
//建立缓冲输出字符流
BufferedWriter bufferedWriter = new BufferedWriter(fileWriter);
//准备数据,把数据写出
bufferedWriter.newLine(); // bufferedWriter.write("\r\n");
bufferedWriter.write("马上你们就要做练习了喔!");
//刷新一个缓冲区
bufferedWriter.close();
}
}