0
123456
및 abcdefg
두 개의 텍스트 파일을 각각의 행에 병합합니다. 내가 겪고있는 현상은 동일한 줄에 23456abcde
인 파일이 생성되었으므로 정확히 여기에 입력 한 것과 같습니다.BufferedWriter가 텍스트의 첫 번째 줄을 쓰지 않습니다.
내 질문이
- 이유는 첫 번째 파일은
- 를 작성하지에서
1
입니다 왜 그들은 자신의 라인에 있지 않습니다. - 왜 'fg'가 쓰여지지 않습니다. (7 줄의 텍스트 데이터가 있지만 6 글자 만 쓰면 7 글자는 영숫자가 전혀없이 "23456"을 출력하므로).
.
while(!(br1.readLine()==null)||(br2.readLine()==null)){
가 BR1의 첫 번째 줄을 소비 :
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";
}
'f '초기화는 어떻게됩니까? –
static int f = 0; – Charles
@Charles 각 writeLine 뒤에 newLine()을 사용하여 readLine이 제거하는 행 종료 문자를 다시 넣기를 원할 수도 있습니다. – xagyg