I am doing some practice with reading files, and I have been tasked with writing File Interleave code for unbalanced files. So, if I have such things, they work just fine:
while ((inputLine1 = LineSequential.read(inFileStreamName1)) != null **&&** (inputLine2 = LineSequential.read(inFileStreamName2)) != null)
Pay attention to & & ... but if I change it to || netbeans claims that inputLine2 was not initialized (although it sees that inputLine1 works just fine):
while ((inputLine1 = LineSequential.read(inFileStreamName1)) != null **||** (inputLine2 = LineSequential.read(inFileStreamName2)) != null)
Right now, if inputLine1 (this is data from file A) first becomes null, I only get every line in inputLine2 (from file B). At each iteration of the loop, a line is skipped. I'm pretty sure this is due to where I initialize inputLine2 ..:
while ((inputLine1 = LineSequential.read(inFileStreamName1)) != null || LineSequential.read(inFileStreamName2) != null) {
inputLine2 = LineSequential.read(inFileStreamName2);
System.out.println(inputLine2);
if(inputLine1 != null && inputLine2 == null){
LineSequential.write(outFileStreamName, inputLine1);
}else if(inputLine1 == null && inputLine2 != null){
LineSequential.write(outFileStreamName, inputLine2);
}
else if(inputLine1 != null && inputLine2 != null){
LineSequential.write(outFileStreamName, inputLine1);
LineSequential.write(outFileStreamName, inputLine2);
}
}