如果我想创建一个文件C:/a/b/test.txt,我可以这样做:
File f = new File("C:/a/b/test.txt");
Run Code Online (Sandbox Code Playgroud)
另外,我想FileOutputStream用来创建文件.那我该怎么办呢?由于某种原因,文件不会在正确的目录中创建.
RMT*_*RMT 233
最好的方法是:
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();
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 48
您需要在写入之前确保父目录存在.你可以这样做File#mkdirs().
File f = new File("C:/a/b/test.txt");
f.getParentFile().mkdirs();
// ...
Run Code Online (Sandbox Code Playgroud)
小智 34
随着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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*elo 11
使用:
File f = new File("C:\\a\\b\\test.txt");
f.mkdirs();
f.createNewFile();
Run Code Online (Sandbox Code Playgroud)
注意我在Windows文件系统中将正斜杠更改为双反斜杠.这将在给定路径上创建一个空文件.
| 归档时间: |
|
| 查看次数: |
357050 次 |
| 最近记录: |