0

Javaを使用して単一のファイルをソースから宛先にコピーしようとしていますが、次のエラーメッセージが表示されます。

java.io.FileNotFoundException:以下はその方法です

public void copy_single(String source,String dest,String filename)
{
  try
  { System.out.println(source + "" + filename);
    System.out.println(dest + "" + filename);
    File inputFile = new File(source+""+filename);
    File outputFile = new File(dest+""+filename);
    Process proc0 = Runtime.getRuntime().exec("chmod -R 777 "+inputFile+"");
    proc0.waitFor();
    Process proc1 = Runtime.getRuntime().exec("chmod -R 777 "+outputFile+"");
    proc1.waitFor();
    FileReader in = new FileReader(inputFile);
    FileWriter out = new FileWriter(outputFile);
    int c;
    while ((c = in.read()) != -1)
      out.write(c);
    in.close();
    out.close();
  } catch(Exception e) {
    e.printStackTrace();
    System.out.println("Error: Operation failed!");
  }
}

出力:-

/home/root/Tool/AAputDelta.sh
/home/root/Desktop/Sqa/BaseLine/Engine/AAputDelta.sh
java.io.FileNotFoundException: /home/root/Desktop/Sqa/BaseLine/Engine/AAputDelta.sh (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:194)
at java.io.FileOutputStream.<init>(FileOutputStream.java:145)

Javaを使用して単純なファイルをコピーする方法。

4

6 に答える 6

2

dest出力パスの一部または全部が存在しない可能性があります。この場合、File.mkdirsを使用してパスを作成できます。

また、文字列からファイルを構築するのではなく、ファイルがこれらすべてを処理できるようにすることをお勧めします。

File inputFile = new File(source, filename);
File outputFile = new File(dest, filename);
于 2012-08-10T14:23:12.550 に答える
1

Apache Commons FileUtils を使用します。これらのいずれかで十分なはずです

FileUtils.copyFile(File srcFile, File destFile) 
FileUtils.copyFile(File srcFile, File destFile, boolean preserveFileDate) 
FileUtils.copyFileToDirectory(File srcFile, File destDir) 
FileUtils.copyFileToDirectory(File srcFile, File destDir, boolean preserveFileDate) 
于 2012-08-10T14:20:57.637 に答える
0

java.io.FileNotFoundException は、一部のファイルが見つからなかったことを意味するため、値を確認してください。

  • ソース
  • 宛先
  • ファイル名
  • ソース+""+ファイル名
  • dest+""+ファイル名
于 2012-08-10T14:29:31.867 に答える
0

commons-io から FileUtils を使用できます: http://commons.apache.org/io/apidocs/org/apache/commons/io/FileUtils.html

または Java 7 のファイル: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html

于 2012-08-10T14:24:16.127 に答える
0

ファイルが存在しない場合、ファイルシステムはファイルを作成しようとします。作成に失敗した場合、Java は をスローしFileNotFountExceptionます。

于 2013-07-31T03:32:52.307 に答える
-1

多分あなたは追加する必要があります

File outputFile = new File(dest+""+filename);
if(!outputFile.exist())outputFile.createNewFile();
于 2012-08-10T15:08:46.403 に答える