很抱歉标题听起来不清楚,我只是不知道如何解释它。
所以,我正在尝试从文件中读取一些行,修改它们然后将它们添加到另一个文件中。
这是原始文件:
line number one
line number two
line number three
等等......
但是当把它打印到另一个文件中时,我得到了这个:
line number one
line number one line number one
line number one line number one line number two
line number one line number one line number two line number two
这是我的代码
这是读取原始文件的部分
try {
File f = new File(path);
try (FileReader fr = new FileReader(f); BufferedReader br = new BufferedReader(fr)) {
while ((aux=br.readLine())!=null) {
//easyDecryp is the method that modifies the line.
//there's nothing wrong with it.
output += easyDecryp(aux)+"\n";
aux="";
}
br.close();
fr.close();
}
} catch(IOException e) {
System.out.println("Error: "+e.getMessage());
}
在这里我写入新的
try {
File f = new File(path);
try (FileWriter fw = new FileWriter(f); PrintWriter pw = new PrintWriter(fw)) {
pw.println(output);
}
} catch(IOException e) {
System.out.println("Error: "+e.getMessage());
}
输出是保存线条的变量。他们都是。 它应该逐行读取,然后写入新文件,如下所示:
output = line1
//New line added
output = line1 \n line2
//Note the new line tag between every line
答案 0 :(得分:1)
我认为easyDecryp(aux)
正在返回该行,然后您正在执行+=
。这就是为什么你的系列会被复制的原因。