2017-02-10 14 views
-1

Files.copy()を使用してあるフォルダーから別のフォルダーにファイルをコピーしようとしましたが、正常に処理できました。JavaのEclipseを使用してあるフォルダーから別のフォルダーにファイルをコピーする(エラーハンドラー付き)

しかし、私は、コードをもっと柔軟にしたいと言うメッセージを持っています。"ファイルの移動に失敗しました!""ファイルは既に存在します"(ファイルがそのフォルダに既に存在する場合)。

コード:

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

ファイルコピープロセスを開始する前に、ファイルが存在するかどうかをチェックする必要があります。

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(); 
     } 
    } 
+0

まさに私が欲しかったもの!うまくいきました – Moza

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ドキュメントを参照してください。

関連する問題