0

このコードは、ファイルを読み取ってから出力ファイルに戻そうとしています。それを(反転せずに)書き込むと、出力は同じです。しかし、逆にすると、出力は出力ファイルの 1 行にすべて書き込まれます。

  int i;
    int x = 0;
    int[] ar = new int[9999];
    BufferedInputStream fin;
    BufferedOutputStream fout;
    try {

        File f1 = new File("C:/Users/NetBeansProjects/QuestionOne/input.txt");
        File f2 = new File("C:/Users/NetBeansProjects/QuestionOne/output.txt");
        fin = new BufferedInputStream(new FileInputStream(f1));
        fout = new BufferedOutputStream(new FileOutputStream(f2));


        while ((i = fin.read()) != -1) { //reads file into an array
            ar[x] = i;
            x++;
        }

        for(int y = (x-1); y >= 0; y--){ 
        //writes to a file from the end of the array
            fout.write(ar[y]);
        }

        System.out.println();
        fin.close();
        fout.close();
        } catch (FileNotFoundException e) {
        System.out.println("File is NOT found.");
    }

私は使用BufferedInputStreamしていますBufferedOutputStream

4

1 に答える 1

2

おそらく、\r\n を読み、\n\r を書き戻しています。

\r\n を別のエンティティとして処理する必要があります。

于 2012-11-04T04:00:52.860 に答える