0

で split メソッドを使用できないのはなぜinputですか? Eclipse では次のように表示されます。メソッド split(String) は、型 Scanner に対して未定義です。誰かが私を正しい方向に導くことができれば、自分が何を間違っているのかわかりません。

btnFile.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent arg0) {

        JFileChooser chooser = new JFileChooser("C:\\");
        chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

        FileNameExtensionFilter filter = new FileNameExtensionFilter(
                " Only .txt", "txt");
        chooser.setFileFilter(filter);

        int code = chooser.showOpenDialog(null);
        if (code == JFileChooser.APPROVE_OPTION) {
            File selectedFile = chooser.getSelectedFile();
            Scanner input;
            try {
                input = new Scanner(selectedFile); // <-- Here
                String[] splits = input.next().split(" "); <-- And here

                for (int i = 0; i < splits.length; i++) {
                    textArea.setText(splits[i]);
                    System.out.println(splits[i]);
                }
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
});

ありがとう。

4

1 に答える 1

3

それを試みる前にString、あなたはそれから抜け出さなければならないでしょう。あなたはおそらくまたはを探しています。Scannersplit()Scanner.next()Scanner.nextLine()

ファイル全体を読み込もうとしている場合は、Scanner.hasNextLine()false が返されるまで、ループを使用して一度に 1 行ずつ読み込む必要があります。または、 commons-io FileUtils.readFileToString()Stringを使用して、ファイル全体を に読み込むこともできます。

于 2013-02-28T02:34:36.247 に答える