我如何读取java中文本文件中的特定行?

时间:2014-12-20 22:13:47

标签: java

我有一个代码,需要从95行文本文件中读取行,并快速将每个行放入一个字符串变量中。但是,它不会处于线性顺序,它必须单独读取每一个。我怎样才能以高效和紧凑的方式做到这一点?

3 个答案:

答案 0 :(得分:2)

非常简单:

final Path path = Paths.get("path/to/your/file");

final List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);

然后你可以从线上过滤。

从Java 8开始,您可以:

final Path path = Paths.get("path/to/your/file");

final List<String> lines = Files.lines(path, StandardCharsets.UTF_8)
    .filter(someLambdaImplementingPredicate).collect(Collectors.toList());

答案 1 :(得分:0)

String ar = new String[95];
try(BufferedReader br = new BufferedReader(new FileReader(filePath))) {
    for (int i = 0; i < 95; i++) {
        ar[i] = br.readLine();
    }
}

请记住,上面的代码没有错误处理,并假设文件HAS 95行。

答案 2 :(得分:0)

所以你是非常流利的java&#34;,呵呵?

List<String> lines = Files.readAllLines(path, charset);

然后做lines.get(x)。 95行足够小,可以将所有行保留在内存中。