字符缓冲流
缓冲流:当我们在创建缓冲流的时候,会默认在系统内存中为当前流分配一定大小的缓冲区
字符缓冲输入流
特殊方法:String readLine();每次读取一行
返回值:当前行的内容,不包括终止符(\r、\n、\r\n)
字符缓冲输出流
特殊方法:newLine(); 输出一个行终止符 与操作系统无关
相关代码
package org.lanqiao.buffreader.demo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
public class BufferedReaderDemo {
public static void main(String[] args) throws IOException {
//常见读取的目标文件
File file = new File("Notes.txt");
//创建一个字节流
InputStream in = new FileInputStream(file);
//创建字符输入流
Reader inr = new InputStreamReader(in);
//常见字符缓冲输入流
BufferedReader br = new BufferedReader(inr);
/* String line = br.readLine();
System.out.println(line);
String line1 = br.readLine();
System.out.println(line1);*/
String str = "";
while((str = br.readLine() )!= null) {
System.out.println(str);
}
}
}
package org.lanqiao.buffreader.demo;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public class BufferedWriterDemo {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("test.txt"))));
bw.write("太原师范学院");
bw.newLine();
bw.write("太原理工大学");
bw.flush();
}
}
package org.lanqiao.buffreader.demo;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class BuffCopy {
public static void main(String[] args) {
BufferedReader br= null;
BufferedWriter bw= null;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(new File("Notes.txt"))));
bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("notescopy.txt"))));
String str = "";
while((str = br.readLine()) != null) {
bw.write(str);
bw.newLine();
bw.flush();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(br != null) {
br.close();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
if(bw != null) {
bw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}