java - 如何调用操作系统功能将文件复制到文件夹?

标签 java operating-system copy

我是一个Java应用程序,我需要同步两个用户选择的目录的内容,源和目标(简单的本地机器应用程序,不需要考虑任何文件系统或服务器的东西等等)。应用程序应将所有新的和更改的文件从源复制到目标,并删除不在源中但在目标中的任何文件。同步过程需要显示进度条并且可以取消。

删除部分我想我必须完全编写,但其他行为与将文件从一个目录复制到另一个目录的操作系统功能相同,因此我可以通过使用该功能为自己节省大量工作那已经在那里了。问题是,我不知道如何从 Java 访问它。

那么,如果您选择一些文件并将它们拖到文件夹图标上,如何让 Java 执行大多数操作系统上发生的相同操作?

最佳答案

您可以使用Java的WatchService观察目录的更改。由于您使用两个目录,因此您需要观察这两个目录的更改。

对于进度条和拖放,您需要 JavaFX或 Swing 。

尝试与 native 操作系统调用进行通信将很困难,并且如果可能的话,还依赖于平台。此外,您需要知道操作系统是否确实向非操作系统代码公开了这些功能。

关于java - 如何调用操作系统功能将文件复制到文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35700550/

相关文章:

java - 如何使用 AWS Java SDK 禁用请求级日志记录?

java - 通过监听器或 Web 服务传递数据的正确机制是什么

java - 字符unicode值

java - 解码Spring安全BCryptPasswordEncoder

java - 堆栈由编译器或操作系统/架构创建

ruby - 克隆一个数组及其内容

delphi - 如何操作 UnicodeString 的子字符串而不是子数组?

javascript - 使用 JavaScript 代码将 HTML 元素复制到剪贴板

linux - sgslufread : Hard error on read, 操作系统错误 = 104 Linux

linux - Linux 中的文件漏洞是如何工作的