我不知道如何从文件中获取特定的文本行。假设文本文件是:
(1) john
(2) mark
(3) Luke
如何获取文本文件的第二行(标记)?我只需要阅读它,而不是编辑它。
答案 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);