[英]BufferedWriter not Writing First Line of Text
我將兩個文本文件分別與123456
和abcdefg
合並在一起。 我遇到的現象是在同一行上創建的文件為23456abcde
,因此與我在此處鍵入的完全相同。
我的問題是
1
沒有被寫入 。
public static String mergeRecords(String in1, String in2, String out) {
BufferedReader br1 = null;
BufferedReader br2 = null;
BufferedWriter bw1 = null;
try{
FileReader fr1 = new FileReader(in1);
FileReader fr2 = new FileReader(in2);
br1 = new BufferedReader(fr1);
br2 = new BufferedReader(fr2);
bw1 = new BufferedWriter(new FileWriter(out));
////File Writing
while(!(br1.readLine()==null)||(br2.readLine()==null)){
//alternating between the two filles
if((f%2)==0){
bw1.write(br1.read());
bw1.write(br1.readLine());
bw1.write(br1.readLine());
bw1.write(br1.readLine());
bw1.write(br1.readLine());
bw1.write(br1.readLine());
}
else{
bw1.write(br2.read());
bw1.write(br2.readLine());
bw1.write(br2.readLine());
bw1.write(br2.readLine());
bw1.write(br2.readLine());
bw1.write(br2.readLine());
}
/////
//File ALternator Value
f++;
}
bw1.close();
}
catch(IOException iox){
}
return "'mergeRecords' not yet implemented";
}
問題是:
while(!(br1.readLine()==null)||(br2.readLine()==null)){
消耗br1的第一行。 它不會評估第二條語句,因為第一條已經是正確的。 您永遠不會對那條線做任何事情,所以就迷路了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.