如何从文本文件中获取特定行?

时间:2015-04-14 21:03:41

标签: java formatting

我不知道如何从文件中获取特定的文本行。假设文本文件是:

(1) john
(2) mark
(3) Luke

如何获取文本文件的第二行(标记)?我只需要阅读它,而不是编辑它。

3 个答案:

答案 0 :(得分:2)

int n = 2;
String lineN = Files.lines(Paths.get("yourFile.txt"))
                    .skip(n)
                    .findFirst()
                    .get();

对于Java 8之前的版本,您可以这样做

int n = 2;
Scanner s = new Scanner(new File("test.txt"));
for (int i = 0; i < n-1; i++) // Discard n-1 lines
    s.nextLine();
String lineN = s.nextLine();

答案 1 :(得分:2)

如果不首先读取前一行,就无法读取特定行。你可以循环x次,直到你达到你想要的线。

例如:

FileReader fr = new FileReader("myfile.txt");
BufferedReader br = new BufferedReader(fr);
int lineNum = 2; //line of file to read
for(int i = 1; i < lineNum; i++)
     br.readLine();
System.out.println(br.readLine());

答案 2 :(得分:0)

您可以使用Apache FileUtils

File file = new File("file_name.txt");
String encoding = null; // default to platform
List<String> lines = FileUtils.readLines(file, encoding);
String line2 = lines.get(1);