public static void readFile() throws IOException {
String ipPattern = "((2((5[0-5])|([0-4]\\d)))|([0-1]?\\d{1,2}))(\\.((2((5[0-5])|([0-4]\\d)))|([0-1]?\\d{1,2}))){3}";
Pattern pattern = Pattern.compile(ipPattern);
List<String> collect = Files.lines(Paths.get("E:\\proxies.sql"))
.filter(line -> {
Matcher matcher = pattern.matcher(line);
return matcher.find();
})
.peek(System.out::println)
.map(line -> {
Matcher matcher = pattern.matcher(line);
//得先执行matcher值才会进入group中
if (matcher.find()) {
return matcher.group();
}
return "";
})
.peek(System.out::println)
.distinct()
.collect(Collectors.toList());
Files.write(Paths.get("proxies.txt"),collect);
}