以独立于OS的方式将文件从一个文件夹复制到另一个文件夹

时间:2011-07-20 07:10:17

标签: java io

我有两个文件夹,比如folder1和folder2。

folder1包含不同类型的文件,如.txt,.doc,.png。所有文件仅发布在此文件夹中。

现在,我想要做的是,只要文件保存在folder1中,该文件的副本就会进入folder2的子文件夹,子文件夹名称应该是该文件的扩展名。即如果abc.txt文件保存在folder1中,则应在folder2内创建txt文件夹(如果txt文件夹不存在),则应在该子文件夹中复制abc.txt。如果我们有xyz.doc文件,那么创建doc文件夹并保存在其中。我想用Java做到这一点。 这应该是平台无关的,我们可以在Window,Linux或Android中复制。

3 个答案:

答案 0 :(得分:0)

你可以通过File.list()& Common's FileUtils

答案 1 :(得分:0)

您可以启动一个频繁检查该文件夹中新文件的线程。该线程包含文件中所有哈希的列表。如果文件不在列表中,则为新文件。然后,您可以将文件复制到新位置。您可以检查哈希值,而不是检查文件的名称。

答案 2 :(得分:0)

你能等待Java 7吗? WatchService非常适合通知新的File个对象。

从这些JavaDocs的顶部引用:

  

监视注册对象以进行更改和事件的监视服务。例如,文件管理员可以使用监视服务监视目录以进行更改,以便在创建或删除文件时更新其文件列表的显示。 < / p>

(Oracle的重点大胆由我。)