Java FileNotFoundException(文件太大)

Java FileNotFoundException(文件太大),java,jakarta-ee,weblogic,filenotfoundexception,Java,Jakarta Ee,Weblogic,Filenotfoundexception,我在尝试下载文件时遇到此异常 Caused by: java.io.FileNotFoundException: /repository/PWWVFSYWDW0STLHYVEEKHMYBXZTTETGROCQ4FGdsadadaXR1407709207964905350810526.jpg (File too large) at java.io.FileOutputStream.open(Native Method) 很明显,该文件存在。除此之外,同样的程序在我的电脑上正常工作,但是服务器有一

我在尝试下载文件时遇到此异常

Caused by: java.io.FileNotFoundException: /repository/PWWVFSYWDW0STLHYVEEKHMYBXZTTETGROCQ4FGdsadadaXR1407709207964905350810526.jpg (File too large)
at java.io.FileOutputStream.open(Native Method)
很明显,该文件存在。除此之外,同样的程序在我的电脑上正常工作,但是服务器有一个问题,那就是Unix

有什么想法可能导致这种情况吗?

POSIX(以及Unix)系统允许在路径上施加最大长度(从
File.getPath()
或路径的组件(最后一个可以通过
File.getName()
获得)。您可能会看到这个问题,因为文件名很长

在这种情况下,文件操作系统调用将失败,并出现
enametolong

但是,“文件太大”消息通常与
EFBIG
错误代码关联。这很可能是由系统调用引起的:

试图写入的文件超过了依赖于实现的最大文件大小或进程的文件大小限制


可能文件正在被打开以进行追加,而文件末尾隐含的是
EFBIG
错误。

我认为这是一个模糊的错误,实际上来自操作系统级别或JVM的本机代码实现。消息“file too large”如果使用
peror
C库方法呈现
EFBIG
错误号,则会得到错误消息

现在通常情况下,这不应该发生。根据UNIX/Linux手册条目,EFBIG的各种
open
库调用不应该失败

<>但是,我看到了各种错误报告,暗示“代码> fOpen< /COD>(ETCITEA)在某些文件系统上可能失败,和/或当A/C/C++程序被构建时,有64位文件大小的支持被禁用。
那么这意味着什么呢

不清楚,但我怀疑这意味着你:

  • 使用脆弱的Java实现

  • 运行一个不稳定的UNIX/Linux版本,或者

  • 您正在尝试使用服务器操作系统不支持的某种类型的文件系统。(可能是在FUSE文件系统上?)

一个可能相关的Java错误:

  • (Solaris上的Java 7。)

不考虑JVM错误输出(可能会产生误导或稍微偏离),您可能需要检查您的Unix进程是否有足够的打开文件句柄。耗尽进程文件句柄可能会导致各种与FS相关的错误代码。

因此,问题得到了解决。问题是,磁盘已满,因此流需要很长时间,
在没有问题之后,我清理了磁盘,

我在尝试将文件写入RedHat服务器上的目录时收到此消息,该目录中的文件数已达到最大值。我将文件细分为子目录,错误不再出现

problem: 
java.io.FileNotFoundException: /sent/plain/2009/04/Sterling_AS2_to_edt_AS2_Sterling_SJMVM00 A.20090429115945.All_to_cil_QM_214.GS13173.cgs_to_cil.PR120301900.node (File too large)
文件名不太长的文件将成功写入同一目录

solution:
Reduce the assign filename length or remove older archived files with the longer filenames from that directory and try again.

文件真的存在吗?你确定吗?文件太大是什么意思?可能只是“找不到文件”?你能发布你使用的代码片段吗?你提到的名称PWWVFSYW……jpg我认为是有问题的,因为在windows中,有时我们会遇到与此相关的错误。有时,文件路径也很大,在这种情况下可能会发生。因此,请检查一下。很明显,文件是存在的。除此之外,还有相同的process在我的本地pc上工作正常,但unix服务器有问题