使用Buffered Reader从文本文件中读取

时间:2016-11-02 14:24:50

标签: java bufferedreader flat

我试图从文本文件中读取, 我正在使用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();
        };


}

1 个答案:

答案 0 :(得分:0)

你的第二行在文件1234567中,长度为7,你有这个内循环:

while(line.length()==7 ){
  System.out.println(line);
}

所以我认为它会永远迭代。 也许用if子句改变它