当前位置: 首页 > 面试题库 >

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

阎功
2023-03-14
问题内容

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

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

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

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


问题答案:

用这个:

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()不检查结果而做,但是检查操作的返回值被认为是最佳实践。因此,首先检查现有目录,然后检查是否成功创建(如果尚不存在)。

参考:

  • File.getParentFile()
  • 文件已存在()
  • File.mkdir()
  • File.mkdirs()


 类似资料:
  • 我有一个场景,比如,如果文件夹第一次不存在,必须在特定位置创建一个带有时间戳的新文件夹。然后我必须在新创建的文件夹中写入文件。 为了在给定位置下创建新文件夹,我编写了以下代码,该代码不创建文件夹,返回FALSE。 现有路径:D:\工作\POC\输出\ 我的当前Java版本:1.6

  • 问题内容: 我知道您可以创建目录和文件,但是无法一次性完成这两种操作吗? 即如果文件夹不存在时我要执行以下操作: 错误: 有没有人想出一个功能来解决这个问题? 问题答案: 使用两个命令在一个外壳线面相结合: 注意:以前我建议使用来分隔两个命令,但是正如@trysis所指出的,在大多数情况下使用它可能更好,因为万一失败也不会执行。(否则,这可能会导致您可能没有想到的问题。)

  • 我有一个名为images的文件夹,位于用户的文件夹中,如: 图像 用户1 当我从数据库中删除一个用户时,我还想删除该用户的所有文件和文件夹。所有这些都在一个包含函数的类中,但是当我执行函数时,我的整个文件夹图像都会被删除。。。 我已经检查了是否选择了正确的用户,路径是否正确。当我在测试的时候。php文件它工作得很好,但在我的函数中它被破坏了。 如果单击“删除”按钮,则转到此功能: 通过给定的id获

  • 问题内容: 我正在尝试使用php创建一个zip文件(确实如此-从此页面获取-http://davidwalsh.name/create-zip- php ),但是zip文件中的所有文件夹名称都是文件本身。 可以将zip文件中的文件减去所有文件夹吗? 这是我的代码: 问题答案: 这里的问题是要传递相同的两个参数。 根据文档: bool ZipArchive :: addFile (字符串 $ fil

  • 我在尝试选择文件时获得URI: /外部/文件/15499 我如何将它转换成真实的文件路径? 注意:我阅读了以下主题: null

  • 问题内容: 我只想从完整路径到文件获取文件夹路径。 例如,我想要得到(不包括)。 我已经尝试过这样的事情: 但是它给了我这样的结果: 这不是我需要的结果(为)。 关于如何获取文件路径的任何想法? 问题答案: 您几乎可以使用该功能了。您只需要加入字符串,如下所示。 虽然,我建议使用该函数来执行此操作,但是您只需要传递字符串即可,它将为您完成工作。由于您似乎在Windows上,因此也考虑使用该功能。一