データの行を含む7つの異なるテキストファイルを作成する関数があります。これらの7つのファイルは、次の関数を使用して、別の関数で1つのファイルに結合されます。
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をすぐに閉じるのか、それとも何を閉じるのかわかりません。
任意のアイデアをいただければ幸いです。どんなアイデアでもすぐにテストできます。
ありがとう!