一尘不染

如何为给定路径创建文件(包括文件夹)?

java

我正在从网上下载一个zip文件。它包含文件夹和文件。使用解压缩他们ZipInputstreamZipEntryZipentry.getName将文件名指定为htm/css/aaa.htm

所以我正在创造新的 File(zipentry.getName);

但问题是它引发了异常:File not found。我知道它正在创建子文件夹htmcss

我的问题是:如何通过路径上方创建包含子目录的文件?


阅读 270

收藏
2020-12-03

共1个答案

一尘不染

用这个:

File targetFile = new File("foo/bar/phleem.css");
File parent = targetFile.getParentFile();
if (!parent.exists() && !parent.mkdirs()) {
    throw new IllegalStateException("Couldn't create dir: " + parent);
}

尽管您可以file.getParentFile().mkdirs()不检查结果而做,但是检查操作的返回值被认为是最佳实践。因此,首先检查现有目录,然后检查是否成功创建(如果尚不存在)。

参考:

2020-12-03