1
package javaapplication33;

import java.io.File;
import java.io.IOException;


public class JavaApplication33 {

public static void main(String[] args) throws IOException{


    File happyFile = new File("/happy.txt");
    if (happyFile.exists() == false) {
        happyFile.createNewFile();
        System.out.println("the file is created");
    } else {
        System.out.println("tHE FILE ALREADY EXSISTED   ");
     }
   }
 }

ここに私のエラーがあります:

Exception in thread "main" java.io.IOException: The system cannot find the path specified
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at javaapplication33.JavaApplication33.main(JavaApplication33.java:14)

Java 結果: 1

  • C:// & C:/ を試してみましたが、それでもうまくいきませんでした*
4

2 に答える 2

2

Windows で特定のパスに書き込む必要がある場合は、引用符で囲んだバックスラッシュを使用する必要があります。

 File happyFile = new File("c:\\mydir\\happy.txt");

コードを汎用的にするには、システム プロパティのパス セパレータとホーム ディレクトリを使用できます。

于 2013-07-06T20:09:10.620 に答える
2

「/happy.txt」は有効な Windows ファイル パスではないと思います。常に有効なパスを試してください

import java.io.File;
import java.io.IOException;

public class WriteToDisk {
    public static void main(String[] args) throws IOException {
        String tempDir = System.getProperty("java.io.tempdir");
        String separator = File.pathSeparator;
        File happyFile = new File(tempDir + separator + "happy.txt");
        if (!happyFile.exists()) {
            happyFile.createNewFile();
            System.out.println("the file is created");
        }
        else {
            System.out.println("tHE FILE ALREADY EXISTED");
        }
    }
}

これにより、最初は「ファイルが作成されました」と表示され、その後は「ファイルが既に存在します」と表示されます。

于 2013-07-06T20:09:51.653 に答える