如果我想在C:/a/b/test.txt
中创建一个文件,我可以这样做吗:
File f = new File("C:/a/b/test.txt");
另外,我想使用FileOutputStream
来创建文件。那么我该怎么做呢?由于某些原因,文件没有在正确的目录中创建。
发布于 2011-05-27 02:04:14
最好的方法是:
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();
发布于 2011-05-27 01:52:31
在写入之前,您需要确保父目录已经存在。你可以通过File#mkdirs()
来做这件事。
File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...
发布于 2013-05-23 21:14:01
通过Java 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());
}
}
}
https://stackoverflow.com/questions/6142901
复制相似问题