当前位置: 首页 > 面试题库 >

使用Java保留文件创建时间

太叔高义
2023-03-14
问题内容

我用Java编写了一个小的复制工具,用于复制USB记忆棒上的.mp3文件。复制新文件时,会保留一些文件属性,但不会保留创建时间。

要复制文件,我使用:

org.apache.commons.io.FileUtils
静态void copyFile(File srcFile,File destFile,boolean prepareFileDate)



FileUtils.copyFile(sourceFile,newTargetFile,preserveFileDate);

所以我的问题是,有没有办法节省文件创建时间?如果没有,我想我建立了一个用Windows robocopy复制的类。


问题答案:

如果您使用的是Java 7+,则可以使用:

Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES);

如果那没有复制创建时间(在我的机器上也是如此),您也可以手动设置它:

Path source = ...;
Path target = ...;
Files.copy(source, target, StandardCopyOption.COPY_ATTRIBUTES);

FileTime creationTime  = (FileTime) Files.readAttributes(source, "creationTime").get("creationTime");
Files.setAttribute(target, "creationTime", creationTime);


 类似资料:
  • 问题内容: 我想知道如何创建一个jar文件,该文件保留其内容的文件权限。 我将源文件和可执行文件打包在一个jar文件中,该文件将在使用前提取。人们应该能够通过运行批处理/ shell脚本文件立即运行示例和演示。然后,他们应该能够修改源代码并重新编译所有内容。 我正在努力使使用它的人过上轻松的生活,其中包括Java和编程的新手,他们可能正在Linux / Unix上工作。 我可以访问运行Window

  • 在PHP中,我使用Phar对象创建了tar文件,但它不保存文件信息,如修改的时间、权限等。 有没有办法将此类信息保存在创建的tar文件中? 我试了buildFromDirectory(),addFile(),都没用。

  • 我今天开始使用docx4j; Hello Word 我在StackOverflow和Web上进行了搜索,并尝试了找到的几乎所有示例,但信息非常零散,在深入挖掘之前,我想至少知道我的方向是否正确。 我已经向Maven添加了jar,但是在文档中它声明内容必须是格式良好的XHTML,而我只有一堆文本和HTML混合在一起。

  • 问题内容: 我想按照我的Web服务器的版本控制中所述,通过在Web服务器上创建gitrepo来对[Web服务器进行版本控制。我希望我能够将Web内容从我们的开发服务器推送到github,再将其拉到我们的生产服务器,并在剩下的一天中度过。 显然,我的计划中的一个缺点是Git不尊重文件权限(我还没有尝试过,仅现在就阅读它。)我想这很有意义,因为不同的盒子可能具有不同的用户/组设置。但是,如果我想强制传

  • 考虑这个简单的例子: 在这里,我想将函数应用于包含的所有列,但我希望这些新列称为对应列的。 我知道我能做到 但我需要的是这个 有没有一种解决方案不需要存储中间数据,并合并回原始数据帧?

  • 当我执行这个程序时,一切都很好: