에 파일을 만들려면 C:/a/b/test.txt
다음과 같이 할 수 있습니까?
File f = new File("C:/a/b/test.txt");
또한 FileOutputStream
파일을 만드는 데 사용하고 싶습니다 . 어떻게하면 되나요? 어떤 이유로 파일이 올바른 디렉토리에 작성되지 않습니다.
답변
가장 좋은 방법은 다음과 같습니다.
String path = "C:" + File.separator + "hello" + File.separator + "hi.txt";
// Use relative path for Unix systems
File f = new File(path);
f.getParentFile().mkdirs();
f.createNewFile();
답변
쓰기 전에 상위 디렉토리가 존재하는지 확인해야합니다. 에 의해이 작업을 수행 할 수 있습니다 File#mkdirs()
.
File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...
답변
함께 자바 7 , 당신이 사용할 수있는 Path
, Paths
그리고 Files
:
import java.io.IOException;
import java.nio.file.FileAlreadyExistsException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class CreateFile {
public static void main(String[] args) throws IOException {
Path path = Paths.get("/tmp/foo/bar.txt");
Files.createDirectories(path.getParent());
try {
Files.createFile(path);
} catch (FileAlreadyExistsException e) {
System.err.println("already exists: " + e.getMessage());
}
}
}
답변
사용하다:
File f = new File("C:\\a\\b\\test.txt");
f.mkdirs();
f.createNewFile();
Windows 파일 시스템의 경로에 슬래시를 이중 백 슬래시로 변경했습니다. 주어진 경로에 빈 파일이 생성됩니다.
답변
답변
String path = "C:"+File.separator+"hello";
String fname= path+File.separator+"abc.txt";
File f = new File(path);
File f1 = new File(fname);
f.mkdirs() ;
try {
f1.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
이것은 디렉토리 안에 새로운 파일을 만들어야합니다
답변
지정된 경로에 새 파일 작성
import java.io.File;
import java.io.IOException;
public class CreateNewFile {
public static void main(String[] args) {
try {
File file = new File("d:/sampleFile.txt");
if(file.createNewFile())
System.out.println("File creation successfull");
else
System.out.println("Error while creating File, file already exists in specified path");
}
catch(IOException io) {
io.printStackTrace();
}
}
}
프로그램 출력 :
파일 생성 성공