270

を使って新しいファイルを書きたいFileWriter。私はそれを次のように使用します:

FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");

現在dir1dir2現在は存在しません。それらがまだ存在しない場合は、Javaで自動的に作成してほしい。実際には、Javaは、ファイルパスがまだ存在しない場合は、ファイルパス全体を設定する必要があります。

どうすればこれを達成できますか?

4

5 に答える 5

460

何かのようなもの:

File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
于 2010-05-14T11:53:41.057 に答える
164

Java 1.7 以降、Files.createFile を使用できます。

Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
于 2013-10-18T21:43:40.093 に答える
32

使用File.mkdirs()

File dir = new File("C:\\user\\Desktop\\dir1\\dir2");
dir.mkdirs();
File file = new File(dir, "filename.txt");
FileWriter newJsp = new FileWriter(file);
于 2010-05-14T11:53:30.397 に答える
18

を使用しFile.mkdirs()ます。

于 2010-05-14T11:53:13.990 に答える
4

FileUtilsを使用して、これらすべての頭痛の種を処理してください。

編集:たとえば、以下のコードを使用してファイルに書き込みます。このメソッドは、「存在しない場合は親ディレクトリを確認して作成します」。

openOutputStream(File file [, boolean append]) 
于 2013-04-11T09:23:21.877 に答える