问题标签 [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.
java - Apache commons-io FileUtils.deleteDirectory 无法正常工作
我对 commons-io 有疑问FileUtils.deleteDirectory(File)
。我只是打电话
目录结构为:
我尝试使用以下结果进行调试:
- 在删除 c.txt 之前,我在 FileUtils 中停止了程序。
if (!file.delete())
- 文件存在,我可以重命名它(我猜它没有被锁定)。
file.delete()
返回true
,程序以正常方式继续(文件仍然存在,但现在我无法重命名它)- 我在删除 b/ 目录之前停止程序。
if (!directory.delete())
- c.txt 仍然存在于此目录中,并且
delete()
在目录上返回 false 并引发“无法删除目录 /tmp/dir/a/b/”异常 - 当程序结束时,文件被删除,但 b/、a/、dir/ 目录不会。
对我来说奇怪的行为是 c.txt 文件在删除后存在,然后在他的父目录上调用 delete 会导致错误。该文件仅供 Java 程序使用。有什么建议么?如果某些 FileHandlers 仍然为文件打开,知道如何检查 Java 吗?
更新:已修复
我是个笨蛋,我再次检查了我的代码,发现我错过了之前读取文件的关闭流。我有一个读取输入的代码:
我改为(现在可以使用):
这只是示例,我知道正确关闭所有流很重要(使用 try-finally)。BufferedInputStream 在这里也应该有用。
java - Eclipse 插件项目中的库
我想将 Apache commons.io 用于 Eclipse 中的插件项目。我将 .jar 添加到构建路径:
(属性-> java 构建路径-> 库)
但是当我尝试测试我的项目时,我收到了这个错误:
org/apache/commons/io/FileUtils 的 NoClassDefFoundError。
我认为 Eclipse 不会复制该库,或者我想告诉项目复制该库。
我怎么解决这个问题?我正在尝试编写一个导出插件,其中一个完整的文件夹被复制到另一个文件夹。
android - apache.commons.io.IOUtils 抛出内存不足错误
我正在使用以下代码来获取服务器响应的字符串表示形式。问题是它在尝试传递 response 时抛出了内存不足异常toString()
。此代码在 Android 上运行。
堆栈跟踪是:
java - tcp 中的 IOUtils.copy()
我正在制作一个程序,通过将文件IOUtils
输入流复制到客户端中的输出流并将输入流复制到服务器中的文件输出流,通过 TCP 从客户端发送文件到服务器。但要使其正常工作,我必须在文件传输结束时关闭流,之后,我无法发送另一个文件。那么有没有办法使用这种方法发送多个文件?
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
依赖于网络连接,但它没有帮助!
有什么想法可以解决这个问题吗?
java - FileUtils.iterateFiles 忽略
我需要按扩展类型和忽略大小写模式在目录和子目录中查找文件,这是我的代码:
我还需要返回带有 Doc、Doc、...等扩展名的文件
java - Java - commons-io - listFiles 非递归
我想使用 Apache Commons IOFileUtils.listFiles
来查找目录中的所有文件,但不想递归地执行搜索。
我可以像这样递归地列出所有文件:
这里DirectoryFileFilter.DIRECTORY
接受所有目录,因此完全递归。查看 JavaDoc,DirectoryFileFilter
我没有看到任何提供的拒绝所有目录的实现。我可以像这样自己实现它..
我想如果 Commons IO 包含一个方便DirectoryFileFilter.DIRECTORY
的递归搜索,那么应该有一个同样方便的非递归搜索实现,不是吗?DirectoryFileFilter
JavaDocs 建议Commons IO中没有提供的扩展。我忽略了什么吗?
java - Java 进程挂在 IOUtils 上。疑似死锁
我有一个 java 进程挂在调用IOUtils.toString
以下代码:
它无法可靠地重现这一点。它是网络爬虫的一部分,因此成功执行了这一行数千次,但最终导致进程在几天后挂起。
jstack的输出:
我看不到任何在 toString 方法上设置超时的方法。有什么建议么?这是 Apache commons 中的错误吗?或者在我的 OpenJDK 中?
java - 如何检查下载过程是否完成
我的应用程序将从我的 Web 服务器解析一个 XML 文件,然后下载这些文件。我的应用程序将从 XML 文件中获取“URL”的内容并使用 Common-IO 的 FileUtils 下载它。我的问题是,我怎么知道我的下载过程是否完成。我的 XML 文件中有很多“URL”。
这是我的代码的一部分:
java - io.common 的 JSP Java 上传文件问题
我对 common-io-2.4 有疑问,其中 FileItemFactory 似乎没有方法 setReposity。我使用了来自 Apache 网站(Apache File Upload)的代码。这很令人生气,因为我看到其他人使用它并没有任何问题。我已经在我的项目中包含了 jar 文件,并且我没有从库中的其他对象中得到错误,只是那个。就好像它没有得到所有的方法。
有任何想法吗?这是我的代码,我正在用 Netbeans 编写它
这个对象
文件项工厂
似乎没有方法 setReposity 或许多其他方法。我不知道为什么?
也许我只是缺少一些简单的东西?任何帮助都会很棒!干杯!