【发布时间】:2011-05-05 17:08:21
【问题描述】:
我有一个函数可以创建 7 个不同的带有数据行的文本文件。然后使用以下函数将这 7 个文件组合成不同函数中的单个文件:
public void createSingle683File(int groupNumber, FileWriter wr){
try{
if(new File(printDir+"683_"+groupNumber+".txt").exists()){
File f683 = new File(printDir+"683_"+groupNumber+".txt");
BufferedReader input = new BufferedReader(new FileReader(f683));
String line = null;
while ((line = input.readLine()) != null){
//write contents of existing file to new file
wr.write(line+"\n");
}
//close bufferedInput
input.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
调用代码:
File fileHandle683 = new File(printDir+"683.txt");
FileWriter wr683 = new FileWriter(fileHandle683);
for (int groupNumber = 1; groupNumber < 8; groupNumber++){
createSingle683File(groupNumber,wr683);
}
.
.
.
.
.//stuff
wr683.close();
Alaways 最终的 683.txt 从第 7 个文件 (683_7.txt) 中丢失了大约 50 行,我不知道为什么。它总是而且只有最终文件的最后几行丢失。我不知道我是要关闭 bufferInput 还是什么。
任何想法将不胜感激。我可以很快测试任何想法。
谢谢!
【问题讨论】:
标签: java file bufferedreader