问题标签 [fileutils]
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 lineIterator 时出现 OutOfMemory 错误
我正在尝试使用 Apache Commons 逐行迭代 1.2GB 文件FileUtils.lineIterator
。但是,只要一个LineIterator
电话hasNext()
,我就会得到一个java.lang.OutOfMemoryError: Java heap space
. 我已经分配1G
给java堆了。
我在这里做错了什么?在阅读了一些文档之后,不是 LineIterator 应该从文件系统中读取文件而不是将其加载到内存中吗?
请注意,代码在 Scala 中:
感谢您在这里的帮助!
java - 运行调用外部 Jar 的 Java 程序
我正在尝试运行一个调用 C:\Users\Brandon\Downloads\commons-io-2.4 文件夹的 Java 程序。它用这段代码编译得很好,javac -cp "C:\Users\Brandon\Downloads\commons-io-2.4\*" Login.java
但是当我试图用这段代码运行它时,
java -cp C:\Users\Brandon\Downloads\commons-io-2.4\* Login
它给了我这个我该error: Could not find or load main class Login.class
如何解决这个问题?PS 程序调用 FileUtils。
java - 如何在android中以编程方式更改文件/文件夹权限
如果正在存储应用程序数据库,我想更改文件夹的权限。
在谷歌上搜索后,我发现了这个:-
这里的FileUtils
类应该是android.os
包的一部分,但我在导入包时找不到它。
知道如何使用FileUtils
或其他方式来更改文件夹的权限吗?
我正在更改权限,因为在我尝试访问数据库时安装我的应用程序后,应用程序停止工作。正如我的设备一样rooted
,当我将数据库文件夹的权限从使用该应用程序更改771
为开始正常工作时。777
Root Browser
那么如何在设备中以编程方式安装应用程序时更改文件夹的权限unrooted
?
我的DBHelper
班级:-
java - 是否可以在不存在的文件上调用 Java 的 FileVisitor.visitFile() ?
即使文件不存在(最近删除的文件),Java 的 java.nio.file.Files.walkFileTree() 也会执行访问者的 visitFile() 方法。
这可能吗?我使用的是 Windows,文件位于网络驱动器上。
Files.walkFileTree() 调用 FileTreeWalker.walk(),后者调用 Files.newDirectoryStream()。我能想到的唯一解释是 Files.newDirectoryStream 返回一个包含已删除文件的 DirectoryStream 。
java - FileUtils.deleteDirectory 尝试删除以句点结尾的目录
我有一个目录,我以编程方式(在 Java 中)进行递归解压缩(这似乎可行),但最后我留下了一个包含很多子目录和文件的目录。每次运行此方法时,我都想从头开始,因此我总是删除临时目录中存在的文件夹及其剩余文件和子目录。
不过,我从 FileUtils.deleteDirectory 收到了一个非常奇怪的错误。
似乎认为我的目录末尾有一个句点(它没有,所以它不能删除它也就不足为奇了)。有时,此错误会出现在子目录中的文件夹上。有没有人见过这个?
我正在使用 Commons IO 2.4 jar。
编辑我已经确认目录没有句点,所以除非它们不可见,否则我不知道为什么该方法会认为有句点。我给该方法的文件路径是在将其作为参数提供之前设置的,并且任何人都可以看到 - 它最后没有句点。
我在 Windows 7 上运行该程序。
编辑这是我用于递归解压缩的代码:
我将原始 zip 放入根目录,然后从那里递归解压缩。
这是显示的相关代码:
我只是注意到我最初使用 rawFile.getCanonicalPath() (rawFile 在第一个代码摘录中设置)作为 extractFolder 的参数,然后切换到 destFile.getAbsolutePath() ...也许与它有关。对此进行测试的问题在于问题不是确定性的。它有时会发生,有时不会。
java - file.delete() 只在第一次工作
目前我正在编写一个小程序来检查文件是否在数据库中。此外,我检查数据库中的哈希是否已正确计算(此处:sha256)。文件名是文件中的(旧的并且可能是错误的)sha。
为了更好地理解一个小的工作流程:
- 从(子)目录(dir)获取文件
- 从文件计算 sha256 (shaNEW)
检查文件名(shaOLD)是否在数据库中
a) 在数据库中:检查 shaOLD = shaNEW (如果 sha 相等:移动到 dir_inDB;如果不:在 DB 中更新,重命名并移动到 dir_inDB)
b) 不在数据库中:检查 shaOLD = shaNEW (如果 sha 相等:移动到 dir_NOTinDB;如果不是:重命名并移动到 dir_NOTinDB - 不要添加到数据库)
我正在访问/获取这样的sourceFile:
并且destinationFile如下:
我的问题是:移动文件后,我想删除旧目录(dir)中的文件[但不是(子)目录本身]。移动也可以正常工作并删除(但仅在第一次)。但从第二次开始,源文件不会被删除。我正在这样移动/删除:
(我没有收到任何错误或异常,除了自己构建的)
我也试过
但后来我(有时)得到一个 IOException (无法删除源文件)
有谁知道为什么sourceFile.delete()
只在第一次工作?
在此先感谢并致以最诚挚的问候,
久志
编辑:
我更喜欢像这样移动文件(而不是复制和删除):FileUtils.moveFile(sourceFile, destinationFile);
但它会抛出一个 IOExeption:
线程“main”java.io.IOException 中的异常:复制到 ...\dir_inDB 后无法删除原始文件 ...\dir\c [0]c[1]\c[2]c[3]\shaOLD \c[0]c[1]\c[0]c[1]\shaNEW
在 org.apache.commons.io.FileUtils.moveFile(FileUtils.java:2835) 在 metadatacheck.DatabaseCleanup.checkFiles(DatabaseCleanup.java:264) 在 metadatacheck.DatabaseCleanup.checkFiles(DatabaseCleanup.java:225) 在 metadatacheck.DatabaseCleanup。 checkFiles(DatabaseCleanup.java:225) 在 metadatacheck.DatabaseCleanup.main(DatabaseCleanup.java:49)
数据库清理.java:264:FileUtils.moveFile(sourceFile, destinationFile);
DatabaseCleanup.java:225:(checkFiles(sourceFile)
功能:见上文)
数据库清理.java:49:checkFiles(dir);
编辑2:
现在我已经尝试过sourceFile.renameTo(destinationFile);
了,但是这里renameTo()
没有执行该函数(我使用了一个简单的 if-else 来检查 renameTo() 是否已执行)。
EDIT3:(散列函数)
ruby - 如何使用 Maid 复制特定的文件类型?
我是第一次 Ruby 用户(任何编程代码),我正在尝试在“maid”中创建一个脚本,将我所有的音乐从特定文件夹复制到“自动添加到 itunes”文件夹中:
但是,我在同一个文件夹中有非音乐文件,我只想包含音频格式(mp3、m4a 等)的文件
如何附加此代码以便我可以选择要复制的文件类型?
另外,cp_r和cp有什么区别?
任何对我的代码的建议或改进都非常受欢迎 - 我已经看到人们尝试用更复杂的代码做类似的事情,所以从某种意义上说,我担心我的代码太简单了......谢谢你的帮助!
java - 尝试使用 FileUtils 下载文件
我正在使用这个自动取款机:
但我的问题是,当我尝试从 url 下载时,我得到了这个:
但是我的文件夹中有一个文件夹和一个版本文件。
那么我将如何让它下载我文件夹中的文件,如果可能的话我怎么能做到这一点:
停止执行 thread.sleep 直到文件下载?
java - 系统资源不足,无法完成请求的服务
尝试使用下载大数据时出现上述错误HttpGet
ruby - 将文件移动到动态创建的目录
我希望将某些 .txt 文件从一个目录移动到另一个目录,我正在动态创建这些文件,其中包含存储为变量的版本号和日期/时间:
目录创建成功,但是no implicit conversion of Array into String
移动文件部分返回错误。
我试图通过添加来修改代码:
但No such file or directory - (timings.txt, ["ruby/bar/2.1.6.0/20141007183424"])
被退回。
我需要将其转换为字符串吗?或者甚至不可能将文件移动到保存为变量的路径?