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()操作は役に立ちます.