我有一个代码,需要从95行文本文件中读取行,并快速将每个行放入一个字符串变量中。但是,它不会处于线性顺序,它必须单独读取每一个。我怎样才能以高效和紧凑的方式做到这一点?
答案 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行足够小,可以将所有行保留在内存中。