问题标签 [apache-commons-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
8793 浏览

java - Apache commons-io FileUtils.deleteDirectory 无法正常工作

我对 commons-io 有疑问FileUtils.deleteDirectory(File)。我只是打电话

目录结构为:

我尝试使用以下结果进行调试:

  1. 在删除 c.txt 之前,我在 FileUtils 中停止了程序。if (!file.delete())
  2. 文件存在,我可以重命名它(我猜它没有被锁定)。
  3. file.delete()返回true,程序以正常方式继续(文件仍然存在,但现在我无法重命名它)
  4. 我在删除 b/ 目录之前停止程序。if (!directory.delete())
  5. c.txt 仍然存在于此目录中,并且delete()在目录上返回 false 并引发“无法删除目录 /tmp/dir/a/b/”异常
  6. 当程序结束时,文件被删除,但 b/、a/、dir/ 目录不会。

对我来说奇怪的行为是 c.txt 文件在删除后存在,然后在他的父目录上调用 delete 会导致错误。该文件仅供 Java 程序使用。有什么建议么?如果某些 FileHandlers 仍然为文件打开,知道如何检查 Java 吗?

更新:已修复

我是个笨蛋,我再次检查了我的代码,发现我错过了之前读取文件的关闭流。我有一个读取输入的代码:

我改为(现在可以使用):

这只是示例,我知道正确关闭所有流很重要(使用 try-finally)。BufferedInputStream 在这里也应该有用。

0 投票
3 回答
1858 浏览

java - Eclipse 插件项目中的库

我想将 Apache commons.io 用于 Eclipse 中的插件项目。我将 .jar 添加到构建路径:

(属性-> java 构建路径-> 库)

但是当我尝试测试我的项目时,我收到了这个错误:

org/apache/commons/io/FileUtils 的 NoClassDefFoundError。

我认为 Eclipse 不会复制该库,或者我想告诉项目复制该库。

我怎么解决这个问题?我正在尝试编写一个导出插件,其中一个完整的文件夹被复制到另一个文件夹。

0 投票
0 回答
1862 浏览

android - apache.commons.io.IOUtils 抛出内存不足错误

我正在使用以下代码来获取服务器响应的字符串表示形式。问题是它在尝试传递 response 时抛出了内存不足异常toString()。此代码在 Android 上运行。

堆栈跟踪是:

0 投票
1 回答
561 浏览

java - tcp 中的 IOUtils.copy()

我正在制作一个程序,通过将文件IOUtils输入流复制到客户端中的输出流并将输入流复制到服务器中的文件输出流,通过 TCP 从客户端发送文件到服务器。但要使其正常工作,我必须在文件传输结束时关闭流,之后,我无法发送另一个文件。那么有没有办法使用这种方法发送多个文件?

0 投票
0 回答
839 浏览

java - 通过 HttpEntity 和 IOUtils 从 URL 下载 Java 文件 - 无限循环?

我使用一些 Apache Commons 库。特别是,我使用的是 4.2.5httpclient版和 2.4 版commons-io。因此,使用DefaultHttpClient我尝试从 URL 下载 pdf 文件。例如,假设我想下载这个文件:http ://www.lowaste.it/files/pdf/C12-02_filiere.pdf 。我收到 200 响应,但正如使用浏览器所见,该文件永远不会加载。似乎在第一个答案之后永远不会加载字节。

在我的代码中,我执行以下操作:

该函数IOUtils.copy似乎无限循环并且永不停止。我留下来等待文件被保存。该IOUtils.copy函数使用IOUtils.copyLarge. 为了完整起见,我报告了该功能:

我还尝试替换IOUtils.copy(in, out)为:

因为对象in依赖于网络连接,但它没有帮助!

有什么想法可以解决这个问题吗?

0 投票
3 回答
6466 浏览

java - FileUtils.iterateFiles 忽略

我需要按扩展类型和忽略大小写模式在目录和子目录中查找文件,这是我的代码:

我还需要返回带有 Doc、Doc、...等扩展名的文件

0 投票
2 回答
2258 浏览

java - Java - commons-io - listFiles 非递归

我想使用 Apache Commons IOFileUtils.listFiles来查找目录中的所有文件,但不想递归地执行搜索

我可以像这样递归地列出所有文件:

这里DirectoryFileFilter.DIRECTORY 接受所有目录,因此完全递归。查看 JavaDoc,DirectoryFileFilter我没有看到任何提供的拒绝所有目录的实现。我可以像这样自己实现它..

我想如果 Commons IO 包含一个方便DirectoryFileFilter.DIRECTORY的递归搜索,那么应该有一个同样方便的非递归搜索实现,不是吗?DirectoryFileFilterJavaDocs 建议Commons IO中没有提供的扩展。我忽略了什么吗?

0 投票
4 回答
3367 浏览

java - Java 进程挂在 IOUtils 上。疑似死锁

我有一个 java 进程挂在调用IOUtils.toString以下代码:

它无法可靠地重现这一点。它是网络爬虫的一部分,因此成功执行了这一行数千次,但最终导致进程在几天后挂起。

jstack的输出:

我看不到任何在 toString 方法上设置超时的方法。有什么建议么?这是 Apache commons 中的错误吗?或者在我的 OpenJDK 中?

0 投票
1 回答
1200 浏览

java - 如何检查下载过程是否完成

我的应用程序将从我的 Web 服务器解析一个 XML 文件,然后下载这些文件。我的应用程序将从 XML 文件中获取“URL”的内容并使用 Common-IO 的 FileUtils 下载它。我的问题是,我怎么知道我的下载过程是否完成。我的 XML 文件中有很多“URL”。

这是我的代码的一部分:

0 投票
1 回答
202 浏览

java - io.common 的 JSP Java 上传文件问题

我对 common-io-2.4 有疑问,其中 FileItemFactory 似乎没有方法 setReposity。我使用了来自 Apache 网站(Apache File Upload)的代码。这很令人生气,因为我看到其他人使用它并没有任何问题。我已经在我的项目中包含了 jar 文件,并且我没有从库中的其他对象中得到错误,只是那个。就好像它没有得到所有的方法。

有任何想法吗?这是我的代码,我正在用 Netbeans 编写它

这个对象

文件项工厂

似乎没有方法 setReposity 或许多其他方法。我不知道为什么?

也许我只是缺少一些简单的东西?任何帮助都会很棒!干杯!