У меня есть 4 текстовых файла a.txt, b.txt, c.txt и c.txt У меня есть кодировка для извлечения строки из a.txt, и если условие следует, то I есть еще одно условие для дальнейшего извлечения из любого б, в или г (который когда-либо следует условие)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 и внутренней 3 петли для б, в и г. Код выводится только тогда, когда в a.txt выполняется первое условие. Это НЕ ПРОВЕРКА для линий furthur в a.txt. Я пробовал его с помощью метода Scanner, но та же проблема есть.
_Пожалуйста, разместите содержание своего 'a.txt'? _ –
Можете ли вы попытаться создать таких читателей:' BufferedReader br1 = Files.newBufferedReader (Paths.get («a.txt»), StandardCharsets.UTF_8); ' –