如何为给定路径创建文件(包括文件夹)?
我正在从网上下载一个zip文件。它包含文件夹和文件。使用 和 解压缩它们。 将文件名指定为 。ZipInputstream
ZipEntry
Zipentry.getName
htm/css/aaa.htm
所以我正在创造新的File(zipentry.getName);
但问题是它抛出了一个异常:.我得到它正在创建子文件夹和.File not found
htm
css
我的问题是:如何通过传递路径来创建一个包含其子目录的文件?
我正在从网上下载一个zip文件。它包含文件夹和文件。使用 和 解压缩它们。 将文件名指定为 。ZipInputstream
ZipEntry
Zipentry.getName
htm/css/aaa.htm
所以我正在创造新的File(zipentry.getName);
但问题是它抛出了一个异常:.我得到它正在创建子文件夹和.File not found
htm
css
我的问题是:如何通过传递路径来创建一个包含其子目录的文件?
使用这个:
File targetFile = new File("foo/bar/phleem.css");
File parent = targetFile.getParentFile();
if (parent != null && !parent.exists() && !parent.mkdirs()) {
throw new IllegalStateException("Couldn't create dir: " + parent);
}
虽然您可以在不检查结果的情况下执行操作,但检查操作的返回值被认为是最佳做法。因此,首先检查现有目录,然后检查是否成功创建(如果它尚不存在)。file.getParentFile().mkdirs()
此外,如果路径不包含任何父目录,则为 。检查其稳健性。parent
null
参考: