使用Java Eclipse将文件从一个文件夹复制到另一个文件夹(使用错误处理程序)

时间:2017-02-10 12:01:36

标签: java automation

我正在尝试使用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();
        }
    }
}

2 个答案:

答案 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();
        }
    }