0

Javaスイングとアクションリスナーの初心者。私がしようとしているのは、テキスト ファイルを 1 行ずつ表示し、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

このコードは、ボタンを押すたびにテキスト ファイルの最初の行を読み取るだけです。

4

1 に答える 1

0

区切り文字として使用する場合、,または|次のように記述する必要がある場合

useDelimiter(",|\\|");

また

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

また、この区切り文字を使用する場合scanner.next()は、scanner.nextLine().

最後に、ファイルのコンテンツ全体を読み取るには、while (scanner.hasNext())代わりに使用するかif (scanner.hasNextLine())、外部にスキャナーを作成しActionListenerて、アクションがボタンをクリックするたびに次の行を読み取ることができるようにします (これで、ActionListener はボタンをクリックするたびに新しいスキャナーを作成し、最初からファイルの読み取りを開始します)。

于 2013-03-29T23:08:58.767 に答える