我有像
这样的file.txt7 10 5
ADD_FLIGHT SV221 Jeddah NewYork 30 7000
ADD_FLIGHT SV223 Jeddah London 30 4000
ADD_FLIGHT SV225 Jeddah Paris 30 3500
ADD_FLIGHT SV227 Jeddah Cairo 30 2000
ADD_PASS Mohammed Ali 33 M 0555788778
ADD_PASS Sara Maghrabi 30 F 0555111111
ADD_PASS Hani Ali 20 M 0555223344
ADD_PASS Mohammed Hafeth 33 M 0555889876
ADD_PASS Ahmad Sami 44 M 0555768768
ADD_FLIGHT SV332 Jeddah Riyadh 20 500
ADD_FLIGHT SV334 Jeddah Dammam 20 600
ADD_FLIGHT SV367吉达迪拜25 2000年 ADD_PASS Salwa Ali 33 F 0555765672
ADD_PASS Faisal Amri 20 M 0555111111
ADD_PASS Mona Saleem 33 F 0555222112
ADD_PASS Ali Ali 33 M 0555743344
ADD_PASS Marwa Ahmad 33 F 0555545855
我想要读取第2,3,4,5,11,12,13行而没有ADD_FLIGHT语句
我的代码
File fin = new File("input.txt");
FileInputStream fis = new FileInputStream (fin);
BufferedReader br = new BufferedReader (new InputStreamReader (fis));
System.out.println(br.readLine());
此代码读取第一行,如:
7 10 5
我想要读取第2,3,4,5,11,12,13行而没有ADD_FLIGHT语句
请帮助:(
答案 0 :(得分:2)
1) Read line by line in java.
2) Check if line contains ADD_FLIGHT
3) if it contains ADD_FLIGHT, replace ADD_FLIGHT with "" and print it
这是执行此操作的代码。
try{
FileInputStream fstream = new FileInputStream("textfile.txt");
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
while ((strLine = br.readLine()) != null) {
if (strLine.contains("ADD_FLIGHT")) {
System.out.println (strLine.replace("ADD_FLIGHT",""));
}
}
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}