使用java查找文本文件中单词的行号

时间:2011-09-25 20:52:04

标签: java java-ee

我需要在文本文件中搜索单词并使用java显示行号。如果它出现不止一次,我需要在输出中显示所有行号。有人可以帮帮我吗?

3 个答案:

答案 0 :(得分:5)

使用Java类LineNumberReader读取文本文件并调用方法getLineNumber以查找当前行号。

http://docs.oracle.com/javase/7/docs/api/java/io/LineNumberReader.html

答案 1 :(得分:2)

您可以手动存储此信息。每当您调用readline()的{​​{1}}时,如果您正在使用此类,您也可以将计数器增加1。例如,

BufferedReader

答案 2 :(得分:1)

这样的事可能有用:

public ArrayList<Integer> find(String word, File text) throws IOException {
    LineNumberReader rdr = new LineNumberReader(new FileReader(text));
    ArrayList<Integer> results = new ArrayList<Integer>();
    try {
        String line = rdr.readLine();
        if (line.indexOf(word) >= 0) {
            results.add(rdr.getLineNumber());
        }
    } finally {
        rdr.close();
    }
    return results;
}