gpt4 book ai didi

java - Java 文件对象可以是 linux 机器上 "Too many files open"错误消息的原因吗

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:58:06 25 4
gpt4 key购买 nike

我正在 redhat linux 机器上运行 java 程序。该程序在我的 Windows 笔记本电脑上运行良好,但是,当我在 Linux 服务器上运行时,我收到一条消息:“打开的文件太多”。这是我正在使用的代码(大致 - 我取出了一些部分):

for(String f : fileList) {
File file = new File(f);
PdfReader reader = new PdfReader(f);

for (int i = 1; i <= reader.getNumberOfPages(); i++) {

if(condition is true){
String s = FilenameUtils.getFullPath(f);
File renameFile = new File(s + newfilename );
FileUtils.moveFile(file, renameFile);
break;
}
}
}

fileList 的长度通常在 10,000 到 100,000 个元素之间。我知道我应该关闭 PdfReader 对象 - 我会的。但是,我想知道常规 Java File 对象是否也会导致“打开的文件过多”错误,如果是这样,我该如何正确地“关闭”这些类型的对象?

最佳答案

没有。 Java File 对象基本上包装了一个文件名,但它不包含打开的文件句柄,直到您使用它来打开流或阅读器。

关于java - Java 文件对象可以是 linux 机器上 "Too many files open"错误消息的原因吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26111860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com