我正在尝试使用Files.copy()
将文件从一个文件夹复制到另一个文件夹,我设法成功完成了。
但是,我希望代码更灵活,可以通过消息说明“文件移动失败!”,“文件已存在”(如果文件是已存在于该文件夹中。)
代码:
package practice;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class test2 {
public static void main(String[] args) {
Path source = Paths.get("C:\\Downloads\\fileinput\\fileinput.csv");
Path destination = Paths.get("C:\\Downloads\\landingzone\\fileinput.csv");
System.out.println("File is moved successful!");
try {
Files.copy(source, destination);
} catch (IOException e) {
System.out.println("File move unsuccessful!");
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
处理错误的理想方法是捕获在该过程中发生的异常。我相信一旦你学得更努力,你就能做到这一点。
这是一个简单的try/catch
块代码,您可以使用它来捕获异常并查看操作是否成功。
import java.io.IOException;
import java.nio.file.*;
public class Program {
public static void main(String[] args) {
//These files do not exist in our example.
FileSystem system = FileSystems.getDefault();
Path original = system.getPath("C:\\programs\\mystery.txt");
Path target = system.getPath("C:\\programs\\mystery-2.txt");
try {
//Throws an exception on error
Files.copy(original, target);
} catch (IOException ex) {
System.out.println("ERROR");
}
}
}
此外,您应该使用Files.copy()
方法的java文档。
答案 1 :(得分:0)
在启动文件复制过程之前,您需要检查目标是否存在文件。
public static void main( String[] args ) {
Path source = Paths.get( "C:\\Downloads\\fileinput\\fileinput.csv" );
Path destination = Paths.get( "C:\\Downloads\\landingzone\\fileinput.csv" );
try {
if ( Files.exists( destination ) ) { // check file is exists at destination
System.out.println( "File exists already." );
} else {
Files.copy( source, destination );
System.out.println( "File copied successfully" );
}
} catch ( IOException e ) {
System.out.println( "File move unsuccessful!" );
e.printStackTrace();
}
}