[java] 새 파일에 쓸 때 자동으로 전체 경로 만들기

로 새 파일을 작성하고 싶습니다 FileWriter. 나는 이것을 다음과 같이 사용한다 :

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

지금 dir1dir2현재 존재하지 않는다. Java가 없으면 자동으로 작성하고 싶습니다. 실제로 Java는 아직 존재하지 않는 경우 전체 파일 경로를 설정해야합니다.

어떻게하면 되나요?



답변

다음과 같은 것 :

File file = new File("C:\\user\\Desktop\\dir1\\dir2\\filename.txt");
file.getParentFile().mkdirs();
FileWriter writer = new FileWriter(file);


답변

Java 1.7부터는 Files.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 를 사용 하여 이러한 모든 두통을 처리 하십시오 .

편집 : 예를 들어, 아래 코드를 사용하여 파일에 쓰면이 방법은 ‘부모 디렉토리가 존재하지 않으면 확인하고 작성합니다’.

openOutputStream(File file [, boolean append]) 


답변