最近的科研大量需要用Java读写文件,所以在此对常用的用IO流读写文件的Java实现记录分享一下:
package myLearningTest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.Writer;
public class IOTest {
//测试用io流读写文件,该方法用于从file1中读取文件内容,并将其写入file2中
public static void ioTest(String pathFrom,String pathTo) throws Exception{
try{
//用File对象获取file文件
File file1 = new File(pathFrom);
File file2 = new File(pathTo);
//用Reader字符流加入文件
Reader reader = new FileReader(file1);
//用BuffereredReader字符缓冲流处理文件流
BufferedReader br = new BufferedReader(reader);
//上面两个语句可以综合如下
//BufferedReader br = new BufferedReader(new FileReader(file));
//用Writer创建一个新的字符流writer
Writer writer = new FileWriter(file2);
//用PrintWriter字符缓冲流打印输出流
PrintWriter pw = new PrintWriter(writer);
//上面两个语句可以综合如下:
//PrintWriter pw = new PrintWriter(new FileWriter(file2));
//定义一个字符串,用于遍历file1的内容并将其复制到file2
String line = null;
while((line = br.readLine()) != null){
pw.println(line);
pw.flush();//刷新输出的缓冲流,上一步所写的字符冲刷到指定的文件
}
pw.close();//这是必须的,flush刷新后,流可以继续使用,close先刷新缓冲区,然后将流关闭
br.close();
}catch(FileNotFoundException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
}
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
ioTest("d:\\dd.txt","d:\\dd1.txt");
}
}