【踩坑记事】大量文件处理时,java.nio.file.Files.list导致“打开的文件太多”


错误的用法

Files.list(directory).forEach(path -> {
    // do
});

 

正确的用法

try (Stream<Path> stream = Files.list(directory)) {
    stream.forEach(path -> {
        // do
    });
} catch (Exception e) {
    //e.printStackTrace();
}

使用 try-with-resources 释放资源


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM