で新しいファイルを書きたいのですがFileWriter
。私はそれを次のように使用します:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
現在dir1
、dir2
現在は存在しません。それらがまだない場合は、Javaで自動的に作成する必要があります。実際には、Javaはファイルパス全体を設定する必要があります(まだ存在しない場合)。
どうすればこれを達成できますか?
で新しいファイルを書きたいのですがFileWriter
。私はそれを次のように使用します:
FileWriter newJsp = new FileWriter("C:\\user\Desktop\dir1\dir2\filename.txt");
現在dir1
、dir2
現在は存在しません。それらがまだない場合は、Javaで自動的に作成する必要があります。実際には、Javaはファイルパス全体を設定する必要があります(まだ存在しない場合)。
どうすればこれを達成できますか?
回答:
何かのようなもの:
File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);
mkdirs
何もしません。
Java 1.7以降では、Files.createFileを使用できます。
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt");
Files.createDirectories(pathToFile.getParent());
Files.createFile(pathToFile);
Path pathToFile = Paths.get("myFile.txt"); Files.createDirectories(pathToFile.getParent());
を使用しFile.mkdirs()
ます。
FileUtilsを使用して、これらすべての頭痛の種を処理します。
編集:たとえば、ファイルに書き込むには、以下のコードを使用します。このメソッドは、「親ディレクトリが存在しない場合、チェックして作成します」。
openOutputStream(File file [, boolean append])