对于类型Scanner,方法split(String)未定义

时间:2013-02-28 02:31:17

标签: java

为什么我不能在input上使用拆分方法?在Eclipse中它说:对于类型Scanner,方法split(String)是未定义的。我不知道我做错了什么,如果有人能引导我走向正确的方向。

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();
            }
        }
    }
});

感谢。

1 个答案:

答案 0 :(得分:3)

在尝试String之前,您必须从Scanner中获得split()。您可能正在寻找Scanner.next()Scanner.nextLine()

如果您正在尝试读取整个文件,则需要使用循环一次读取一行,直到Scanner.hasNextLine()返回false。或者,您可以使用commons-io FileUtils.readFileToString()将整个文件读入String