从FileReader读取多行

时间:2014-02-18 16:38:43

标签: java text input

*编辑因为我不能使用除Scanner类之外的任何东西。

我正在阅读Conway的生命游戏计划的文本文件,看起来像这样:

------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
-------------X-X-X------------
--------------XXX-------------
-------------X-X-X------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------
------------------------------

我试图将所有字符读入单个字符串变量,然后将字符串解析为char数组。我如何修复我的FileReader代码以读取所有行,而不是在到达一行结束后停止?

    inputfile = JOptionPane.showInputDialog ("Where is the input file?   Ex:                   C:\\users\\public\\desktop\\input.txt ");
    Scanner input = new Scanner (new FileReader(inputfile)); 
    String values = null;
    while(input.hasNextLine()){
    values = input.next();
    }
    System.out.println(values);

2 个答案:

答案 0 :(得分:3)

输入是文件的路径(用户输入到弹出窗口)。不是文件的内容。

这是一种逐行读取文件的方法

Java read line from file

答案 1 :(得分:0)

请注意,您每次都在循环中覆盖 valuevalue = input.next();)。我认为你的意思是将所有行添加到一起。循环结束后,值String仅包含最后一行读取,因此这是唯一打印到System.out的行。