public class ReaderWriterDemo2{
public static void main(Stirng[] args){
FileReader fr = null;
try{
fr = new FileWriter("d:\\demo");
int x = 0;
char[] ch = new char[1024];
while((x = fr.read(ch))!=-1){
syso(new String(ch,0,x))
}
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(fr.read()!=null)
fr.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
2.字符流的缓冲对象
|--BufferedWriter 字符输出流缓冲对象 提高流的操作效率
|--构造方法 传递一个字符串输出流 BufferedWriter bfw = new BufferedWriter(Writer out)
|--自己的方法 newLine() 写一个换行 跨平台
import java.io.*;
public class BufferedWriterDemo{
public ststic void main(String[] args)throws IOException{
FileWriter fw = new FileWriter("");
BufferedWriter bfw = new BufferedWriter(fw);
bfw.write("abc");
bfw.newLine();
bfw.fluse();
bfw.close();
}
}
|--BufferedRriter 字符输入流的缓冲区对象 提高字符输入流的操作效率
|--构造方法 传递一个字符串输入流对象 BufferedReader bfr = new BufferedReader(Reader in);
|--自己的方法 readLine() 读取文本一行返回字符串,没有换行符号,在结尾返回null
import java.io.*;
public class BufferedReaderDemo{
public ststic void main(String[] args)throws IOException{
FileReader fr = new FileReader("d:\\demo");
BufferReader bfr = new BufferedReader(fr);
String line = null;
while((line = bfr.readLine())!=null){
syso(line);
}
bfr.close();
}
}
3.复制文本文件案例,并且处理异常 字符流只能处理文本文件
|--第一种方法,读一个写一个,效率较低,一般不用
import java.io.*;
public class Copy{
public ststic void main(String[] args)throws IOException{
FileReader fr = null;
FileWriter fw = null;
try{
fr = new FileReader("d:\\demo.txt");
fw = new FileWriter("d:\\copydemo.txt");
int x = 0;
while((x = fr.read())!=-1){
fw.write(x);
fw.flush();
}catch(IOException e){
e.printStackTrace();
}finally{
try{
if(fw!=null)
fw.close();