Создать весь путь автоматически при записи в новый файл
хочу написать новый файл с FileWriter
. Я использую его так:
FileWriter newJsp = new FileWriter("C:userDesktopdir1dir2filename.txt");
теперь dir1
и dir2
В настоящее время не существует. Я хочу, чтобы Java создавал их автоматически, если они еще не существуют. На самом деле Java должен настроить весь путь к файлу, если он еще не существует.
как я могу этого достичь?
5 ответов:
что-то типа:
File file = new File("C:\user\Desktop\dir1\dir2\filename.txt"); file.getParentFile().mkdirs(); FileWriter writer = new FileWriter(file);
начиная с Java 1.7 вы можете использовать файлы.createFile:
Path pathToFile = Paths.get("/home/joe/foo/bar/myFile.txt"); Files.createDirectories(pathToFile.getParent()); Files.createFile(pathToFile);
использовать
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);
использовать
File.mkdirs()
.
использовать FileUtils чтобы справиться со всеми этими головными болями.
Edit: например, используйте приведенный ниже код для записи в файл, этот метод будет "проверять и создавать родительский каталог, если он не существует".
openOutputStream(File file [, boolean append])