import java.io.*
;
public class Demo1 {
public static void main(String []args) throws Exception{
File fileOut =
new File(
"Out.txt");
File fileOut2 =
new File(
"In.txt");
BufferedReader bf =
new BufferedReader(
new InputStreamReader(System.
in));
//
FileWriter fileWrite =
new FileWriter(fileOut);
//将从控制台读取的数据存入该文件
FileWriter fileWrite2 =
new FileWriter(fileOut2);
//将从第一个文件中读取的数据保存至第二个文件
//设置文件流的处理流
BufferedWriter bfOut =
new BufferedWriter(fileWrite);
BufferedWriter bfOut2 =
new BufferedWriter(fileWrite2);
// 从控制台读入数据 写入第一个文件
String
string =
bf.readLine();
bfOut.write(string);
bfOut.newLine();
bfOut.close();
File fileIn =
new File(
"Out.txt");
FileReader fileRead =
new FileReader(fileIn);
//从第一个文件中读取数据
BufferedReader bfIn =
new BufferedReader(fileRead);
// 从第一个文件中读取数据,写入另外一个文件,同时展现在控制台中
String string2 = bfIn.readLine();
//读取
bfOut2.write(string2);
//写入
System.
out.println(string2);
// fileRead.close();
// fileWrite.close();
bfIn.close();
bfOut.close();
bfOut2.close();
}
}
废了好大的劲终于搞明白了,刚开始的时候,处理文件,同时定义两个流对象(一个打开一个关闭)指向同一个文件,这样就会导致同一个文件同时要被写入和读出,这样就会出现错误,类似于线程的同步性问题。
另外,文件流在添加了处理流的套接的时候,可以只关闭处理流。
文件的处理必须要关闭!!!flush()操作是很有帮助的。
转载于:https://www.cnblogs.com/plxx/p/3418895.html