试图从每一行中得到一些词

时间:2012-03-03 10:15:06

标签: java split

我一直试图获得2,3,4个单词的文件,这是到目前为止的代码。但我收到一些错误消息。有人能帮帮我吗?这是代码:

import java.util.Scanner;
import java.io.File;
import java.io.PrintWriter;
import java.io.FileNotFoundException;

class PrintLines{
public static void main(String[] args) throws FileNotFoundException {

    Scanner me = new Scanner(System.in);

    System.out.print("File Name: ");
    String s = me.next();
    File inFile = new File(s);
    Scanner in = new Scanner(inFile);

    while(in.hasNextLine()){
        String[] split=in.split(" ");
        System.out.println(split[2]+split[3]+split[4]);

    }
    in.close();
}
}

但这是我收到的错误消息:

PrintLines.java:18: cannot find symbol
symbol  : method split(java.lang.String)
location: class java.util.Scanner
        String[] split=in.split(" ");
                         ^
1 error

2 个答案:

答案 0 :(得分:2)

您在split本身上呼叫Scanner;你应该在nextLine上调用它,它将下一行作为String

返回
String[] split = in.nextLine().split(" ");

答案 1 :(得分:2)

如果您阅读了docs,那么扫描仪就没有"拆分"方法,所以你得到的是一个编译错误,告诉你你正在调用一个不存在的方法。

尝试交换

String[] split=in.split(" ");

有:

String[] split=in.nextLine().split(" ");

如果您阅读JavaDoc for hasNextLine(),则会暗示这两种方法之间的联系,其中nextLine()方法是下一个记录的方法。