一、遍历
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
stream.forEach(line -> {
});
} catch (IOException e) {
e.printStackTrace();
}
二、跳过 N 行开始遍历
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
stream.skip(10000).forEach(line -> {
});
} catch (IOException e) {
e.printStackTrace();
}
三、记录遍历坐标
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
Iterator<String> iterator = stream.iterator();
int index = 0;
while (iterator.hasNext()) {
index++;
String line = iterator.next();
}
} catch (IOException e) {
e.printStackTrace();
}
四、获取行数
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
long count = stream.count();
} catch (IOException e) {
e.printStackTrace();
}
五、去重
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
stream.distinct().forEach(line -> {
});
} catch (IOException e) {
e.printStackTrace();
}
六、查找
String file = "C:\\Users\\guanqin_li\\Desktop\\temp.txt";
try (Stream<String> stream = Files.lines(Paths.get(file), StandardCharsets.UTF_8)) {
String line = stream.filter(str -> str.contains("关键词搜索测试"))
.findFirst()
.orElse(null);
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}