49

次のように java.nio.file.Files でファイルをコピーしようとしています。

Files.copy(cfgFilePath, strTarget, StandardCopyOption.REPLACE_EXISTING);

問題は、Eclipse が「タイプ Files のメソッド copy(Path, Path, CopyOption...) は、引数 (File, String, StandardCopyOption) には適用できない」と言うことです。

Win7 x64 で Eclipse と Java 7 を使用しています。私のプロジェクトは、Java 1.6 互換性を使用するように設定されています。

これに対する解決策はありますか、それとも回避策として次のようなものを作成する必要がありますか:

File temp = new File(target);

if(temp.exists())
  temp.delete();

ありがとう。

4

4 に答える 4

121

Pathエラー メッセージで説明されているように、引数を渡す必要があります。

Path from = cfgFilePath.toPath(); //convert from File to Path
Path to = Paths.get(strTarget); //convert from String to Path
Files.copy(from, to, StandardCopyOption.REPLACE_EXISTING);

strTargetそれはあなたが有効なパスであることを前提としています。

于 2013-06-18T13:02:50.443 に答える
5
package main.java;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;

public class CopyFileOnExist {

    public static void main(String[] args)  {

        Path sourceDirectory = Paths.get("C:/Users/abc/Downloads/FileNotFoundExceptionExample/append.txt");
        Path targetDirectory = Paths.get("C:/Users/abc/Downloads/FileNotFoundExceptionExample/append5.txt");

        //copy source to target using Files Class
        try {
            Files.copy(sourceDirectory, targetDirectory,StandardCopyOption.REPLACE_EXISTING);
        } catch (IOException e) {
            System.out.println(e.toString());
        }
    }

}
于 2019-02-19T13:46:51.567 に答える
1

strTarget は「文字列」オブジェクトであり、「パス」オブジェクトではありません

于 2013-06-18T13:03:52.183 に答える