4 개의 텍스트 파일 a.txt, b.txt, c.txt 및 c.txt가 있습니다. a.txt에서 줄을 가져 오는 코드 명을 가지고 있는데,BufferedReader는 첫 번째 줄 이후에 읽지 않습니다.
import java.io.*;
public class Scholarship {
public static void main(String[] args) {
try{
FileInputStream fstream1 = new FileInputStream("a.txt");
FileInputStream fstream2 = new FileInputStream("b.txt");
FileInputStream fstream3 = new FileInputStream("c.txt");
FileInputStream fstream4 = new FileInputStream("d.txt");
DataInputStream in1 = new DataInputStream(fstream1);
DataInputStream in2 = new DataInputStream(fstream2);
DataInputStream in3 = new DataInputStream(fstream3);
DataInputStream in4 = new DataInputStream(fstream4);
BufferedReader br1 = new BufferedReader(new InputStreamReader(in1));
BufferedReader br2 = new BufferedReader(new InputStreamReader(in2));
BufferedReader br3 = new BufferedReader(new InputStreamReader(in3));
BufferedReader br4 = new BufferedReader(new InputStreamReader(in4));
String strLine1=null;
String strLine2=null;
String strLine3=null;
String strLine4=null;
while((strLine1 = br1.readLine()) != null){
String[] column1 = strLine1.split("\\|");
if(Integer.parseInt(column1[1])<5000) {
while((strLine2 = br2.readLine())!=null){
String[] column2 = strLine2.split("\\|");
if( (column1[0].equals(column2[0]))&&(column2[2].equals("mumbai"))&&((column2[3].equals("C"))||(column2[3].equals("D")))){
System.out.println(strLine2);
}//if ends
}//while ends
while((strLine3 = br3.readLine())!=null){
String[] column3 = strLine3.split("\\|");
if( (column1[0].equals(column3[0]))&&(column3[2].equals("mumbai"))&&((column3[3].equals("C"))||(column3[3].equals("D")))){
System.out.println(strLine3);
}//if ends
}//while ends
while((strLine4 = br4.readLine())!=null){
String[] column4 = strLine4.split("\\|");
if( (column1[0].equals(column4[0]))&&(column4[2].equals("mumbai"))&&((column4[3].equals("C"))||(column4[3].equals("D")))){
System.out.println(strLine4);
}//if ends
}//while ends
}//if ends
}//while ends
in1.close();
in2.close();
in3.close();
in4.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
외부 루프는해서 a.txt와 B, C 및 D에 대한 내부 루프 (3)이다 (적 조건을 이하) B, C 또는 D 중 하나로부터 상기 반입 다른 조건이있다. a.txt에서 첫 x 째 조건이 충족 될 때만 코드가 인쇄됩니다. a.txt에서 furthur 행을 확인하지 않습니다. Scanner 메서드로 시도했지만 동일한 문제가 있습니다.
_'a.txt'의 내용을 올리시겠습니까? _ –
다음과 같이 독자를 만들려고 할 수 있습니까? 'BufferedReader br1 = Files.newBufferedReader (Paths.get ("a.txt"), StandardCharsets.UTF_8);' –