当前位置:   article > 正文

java.nio.file.FileSystemException: xxx: Too many open files

java.nio.file.filesystemexception

前言

  • linux Redhat 7.0
  • spring boot 2.0.x
  • jdk1.8

长时间运行程序后,出现java.nio.file.FileSystemException: xxx: Too many open files错误。
很显然是因为文件打开未关闭造成的。

原因

Too many open files错误,因下面的代码引起的:

Path path = Paths.get("文件夹路径,如:/path");
DirectoryStream<Path> dirStream = Files.newDirectoryStream(path , "*.xml")
for (Path processPath :  dirStream ) {
       // 逻辑处理
}
  • 1
  • 2
  • 3
  • 4
  • 5

修复

Path path = Paths.get("文件夹路径,如:/path");
DirectoryStream<Path> dirStream = Files.newDirectoryStream(path , "*.xml")
for (Path processPath :  dirStream ) {
       // 逻辑处理
}
dirStream.close();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

说明

  • 本次直接提示了问题位置,较好处理。
  • 另一种问题,可能是:在A代码段未关闭文件io产生的泄漏,在B代码段抛出了异常。这样就不好处理。
  • 好的方式是:io打开之后,用完立即关闭。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/615352
推荐阅读
相关标签
  

闽ICP备14008679号