我知道如何一次将所有文件从一个目录发送到另一个目录。 但是我怎么能想要将文件(.txt)从一个目录一个接一个地发送到另一个目录,延迟时间为60秒。
import java.io.File;
public class MoveFilesJavaExample {
public static void main(String[] args) {
try {
File oldFile = new File("C:\\source\\File.txt");
if (oldFile.renameTo(new File("C:\\destination"+ oldFile.getName()))) {
System.out.println("The file was moved successfully to the new folder");
} else {
System.out.println("The File was not moved.");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
我可以使用以下代码,但它每5秒只执行相同的工作。
import java.util.Timer;
import java.util.TimerTask;
public class UtilTimerDemo {
public static void main(String[] argv) throws Exception {
int delay = 5000; // delay for 5 sec.
int period = 1000; // repeat every sec.
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
System.out.println("doing");
}
}, delay, period);
}
}
谢谢
答案 0 :(得分:0)
File#listFiles()
(可能带有FilenameFilter
参数,如果符合您的需要),以获取源目录中的文件列表。答案 1 :(得分:0)
Timer
。 Timer
的构造函数中,使用DirectoryStream<Path>
获取目录中的所有文件。这是使用Files
包中的nio
类的静态方法完成的。 Timer
中的Files.move()
逐个移动文件。 Timer
。 DirectoryStream
可以全局化,从而允许您过滤所需的文件。您可以编写简单的扩展名或复杂的RegEx来决定DirectoryStream
中返回的文件。