如何删除输出到txt的程序状态?

时间:2017-01-30 21:33:29

标签: java java-io status

我得到了一个包含很多句子的文本。

我正在使用名为anticAnalysis-master的外部库。

我读了txt并使用analysis.parse(line).getCode()将每个句子翻译成代码(1/0 / -1)。最后它会输出到另一个.txt。

如下图所示,它会在输出控制台中生成程序状态。输出控制台中的红线会自动生成

但是,它也会将程序状态打印到txt中。

因此,如何从txt中删除该行程序状态?(图2)

final int[] score = {
    0
};
try (Stream < String > stream = Files.lines(Paths.get("D:\\out.txt")).sequential()) { //retrieve txt file
    File file = new File("D:\\analysis.txt"); //output file
    FileOutputStream fos = new FileOutputStream(file);
    PrintStream ps = new PrintStream(fos);
    System.setOut(ps);
    final Analysis analysis = new Analysis();
    stream.forEach(line - > {


                System.out.println("Code: " + analysis.parse(line).getCode()); //translate every lines into code

                score[0] = score[0] + analysis.parse(line).getCode(); //add up the total score 
            }

            System.out.println("score=" + score[0]); //print out the total score

enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

不要重定向标准输出。相反,只需打印到您的新文件。

PrintStream ps = new PrintStream(fos);
final Analysis analysis = new Analysis();
stream.forEach(line - > {
    ps.println("Code: " + analysis.parse(line).getCode()); 
    score[0] = score[0] + analysis.parse(line).getCode(); 
}