为什么不读取行终止''\ n'

时间:2012-11-04 03:44:35

标签: java file fileinputstream bufferedinputstream bufferedoutputstream

此代码尝试读取文件,然后将其反转为输出文件。 当它写入时(没有反转)输出是相同的。 但是当它反转时,输出将在输出文件的一行中写入ALL。

  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.");
    }

我正在使用BufferedInputStreamBufferedOutputStream

1 个答案:

答案 0 :(得分:2)

可能你正在阅读\ r \ n并写回\ n \ r。

您必须将\ r \ n作为单独的实体处理。