我试图从文本文件中读取, 我正在使用try和resource块从平面文件中读取:
ABC 24 32
1234567
2345678
3456789
CDE 25 35
4567890
5678901
我想要输出:
ABC, 1234567
ABC, 2345678
ABC, 3456789
CDE, 4567890
CDE, 5678901
我尝试使用mark()
和reset()
进行研究。
任何建议都会有很大的帮助
public static void advParse(String fileName){
File file = new File("test1.txt");
ArrayList<Head> abc = new ArrayList<Head>();
try( BufferedReader bufferedReader = new BufferedReader(new FileReader(file))){
Head head = new Head();
String line ;
while(((line = bufferedReader.readLine()) != null)){
while(line.length()==7 ){
System.out.println(line);
}
}
}catch (FileNotFoundException e) {
System.out.println("File not found for "+file.toString());
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("Unable to the read the file "+file.toString());
e.printStackTrace();
};
}
答案 0 :(得分:0)
你的第二行在文件1234567
中,长度为7,你有这个内循环:
while(line.length()==7 ){
System.out.println(line);
}
所以我认为它会永远迭代。
也许用if
子句改变它