JAva--進歩学習IO
3963 ワード
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();
}
}
最初はファイルを処理し、2つのストリームオブジェクト(1つは開いて閉じている)を定義して同じファイルを指すと、同じファイルが同時に書き込まれて読み出され、スレッドのような同期性の問題が発生することがわかりました.
また、ファイルフローは、処理フローのソケットが追加された場合、処理フローのみを閉じることができます.
ファイルの処理は閉じる必要があります!!!flush()操作は役に立ちます.