BufferedReader类创建的对象称为缓冲输入流,该输入流的指向必须是一个Reader流,称为BufferedReader流的底层流,底层流负责将数据读入缓冲区。 BufferedReader流的源就是这个缓冲区,缓冲输入流再从缓冲区中读取数据。 可以将BufferedReader与FileReader连接,然后BufferedReader就可以按行读FileReader指向的文件。BufferedReader的构造方法如下: BufferedReader(Reader in) BufferedReader流能够读取文本行,方法是 readLine() 可以向BufferedReader传递一个Reader对象(如FileReader的实例)来创建一个BufferedReader对象: FileReader inOne=new FileReader("Student.txt") BufferedReader inTwo=new BufferedReader(inOne);然后inTwo调用readLine()顺序读取文件“Student.txt”的一行。
读取D:\a\Student.txt 复制到D:\a\Hello.txt 并标注行号
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.*;
public class Demo1{
public static void main(String args[ ]){
File readFile=new File("d:/a/Student.txt"),
writeFile=new File("d:\\a\\Hello.txt");
try{ FileReader inOne=new FileReader("D:/a/Student.txt");
BufferedReader inTwo= new BufferedReader(inOne);
FileWriter tofile=new FileWriter("D:/a/Hello.txt");
BufferedWriter out= new BufferedWriter(tofile);
String s=null;
int i=0;
while((s=inTwo.readLine())!=null){
i++;
out.write(i+" "+s);
out.newLine();
}
out.flush();
out.close();
tofile.close();
inOne=new FileReader("d:/a/hello.txt");
inTwo= new BufferedReader(inOne);
while((s=inTwo.readLine())!=null){
System.out.println(s);
}
inOne.close();
inTwo.close();
}
catch(IOException e){
System.out.println(e);
}
}
}