使用try-with-resources处理Stream
This commit is contained in:
parent
3537aaa7e7
commit
9ed198a360
@ -8,6 +8,7 @@ import java.util.List;
|
|||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
public class WarningLogExecutor {
|
public class WarningLogExecutor {
|
||||||
|
|
||||||
@ -32,14 +33,15 @@ public class WarningLogExecutor {
|
|||||||
initializeWarningFile(warningFile, keyword, warningTypeName);
|
initializeWarningFile(warningFile, keyword, warningTypeName);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 找到日志文件
|
try (Stream<Path> logFilesStream = Files.list(Paths.get(logDirectory))) {
|
||||||
List<Path> logFiles = Files.list(Paths.get(logDirectory))
|
List<Path> logFiles = logFilesStream
|
||||||
.filter(Files::isRegularFile)
|
.filter(Files::isRegularFile)
|
||||||
.filter(path -> path.getFileName().toString().matches("sideslopertcm(\\.\\d{4}-\\d{2}-\\d{2}\\.\\d+)?\\.log"))
|
.filter(path -> path.getFileName().toString().matches("sideslopertcm(\\.\\d{4}-\\d{2}-\\d{2}\\.\\d+)?\\.log"))
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
for (Path logFile : logFiles) {
|
for (Path logFile : logFiles) {
|
||||||
executor.submit(() -> processFile(logFile, keyword, warningTypeName, warningFile));
|
executor.submit(() -> processFile(logFile, keyword, warningFile));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
@ -67,7 +69,7 @@ public class WarningLogExecutor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processFile(Path logFile, String keyword, String warningTypeName, Path warningFile) {
|
private void processFile(Path logFile, String keyword, Path warningFile) {
|
||||||
try (BufferedReader reader = Files.newBufferedReader(logFile);
|
try (BufferedReader reader = Files.newBufferedReader(logFile);
|
||||||
BufferedWriter writer = Files.newBufferedWriter(warningFile,
|
BufferedWriter writer = Files.newBufferedWriter(warningFile,
|
||||||
StandardOpenOption.CREATE, StandardOpenOption.APPEND)) {
|
StandardOpenOption.CREATE, StandardOpenOption.APPEND)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user