使用Delimiter和JButton读取下一行

时间:2013-03-29 23:04:09

标签: java swing jbutton java.util.scanner file-handling

新手到java swing和动作听众。 我想要的是逐行显示文本文件,当我点击JButton时更改行。我使用的分隔符,或| 我到目前为止的代码是:

next.addActionListener(new ActionListener (){
        public void actionPerformed(ActionEvent e){
            if (next.equals(next)) {
              {
                try{
                    File data = new File("player.txt");
                    Scanner scanner = new Scanner(data);

                    if (scanner != null){
                        scanner.useDelimiter(",|*");
                        if (scanner.hasNextLine()){
                            {

                                    textArea.append(scanner.nextLine() + "\n");
                            }
                        }
                            scanner.close();
                    }
              }
                catch (FileNotFoundException ex){}
              }
         }

        }//End ActionPerformed
    });//End ActionListener

这个代码只是在每次按下按钮时读取文本文件的第一行。

1 个答案:

答案 0 :(得分:0)

如果您想用作分隔符,|,则应将其写为

useDelimiter(",|\\|");

useDelimiter("[,\\|]");

此外,如果您想使用此分隔符,则应使用scanner.next()而不是scanner.nextLine()

最后要阅读文件的整个内容,您应该使用while (scanner.hasNext())而不是if (scanner.hasNextLine()),或者在ActionListener之外创建扫描程序,这样您的操作就可以在每次点击按钮时读取下一行(现在你的ActionListener创建新的扫描仪,每次点击按钮,开始从头开始读取文件。