我想读取一个文件并创建一个文件的副本,但是我的代码只写文件中的最后一行。如何使每当我调用write()时,它会写到一个新行。我想为复制创建一个新文件,这样我就不能将true添加到FileWriter构造函数中。
这是我的密码:
//Create file reader
BufferedReader iReader = new BufferedReader(new FileReader(args[1]));
//Create file writer
BufferedWriter oWriter = new BufferedWriter(new FileWriter(args[2], true));
String strLine;
//reading file
int iterate = 0;
while((strLine = iReader.readLine()) != null) {
instructions[iterate] = strLine;
}
//creating duplicate
for(int i = 0; i < instructions.length; i++) {
if(instructions[i] != null) {
oWriter.write(instructions[i]);
oWriter.newLine();
} else {
break;
}
}
try {
iReader.close();
oWriter.close();
} catch (IOException e) {
e.printStackTrace();
}发布于 2013-10-22 15:36:44
您没有递增iterate
int iterate = 0;
while((strLine = iReader.readLine()) != null)
{
instructions[iterate] = strLine;
iterate++;
}发布于 2013-10-22 15:36:35
您没有更新instructions数组的索引。
此外,现在还不清楚为什么要以这种方式复制文件;为什么还要一行行地复制文件呢?或者只使用实用程序类,比如。
https://stackoverflow.com/questions/19522253
复制相似问题