【问题标题】:How do I create a new directory at the location of an existing file?如何在现有文件的位置创建新目录?
【发布时间】:2011-07-26 23:29:16
【问题描述】:

我是 Java 新手,所以如果这是一个愚蠢的问题,请原谅我。

基本上,文件就是一首歌。我正在使用 JFileChooser 来选择多首歌曲。然后我对歌曲数组(它们的文件名和路径)做一些事情。然后,我想在歌曲所在的目录中创建 2 个目录,一个目录用于艺术家姓名,一个目录用于艺术家姓名目录中的专辑名称。然后我想将我的数组中的文件移动到专辑目录。

我很确定我应该使用 mkdirs() 方法。

如何告诉程序在歌曲的位置创建目录,这些歌曲的路径已存储在文件数组中?我只能找到摆脱扩展名而不是文件名的示例,以便能够使用 mkdirs() 方法的路径。

【问题讨论】:

    标签: java file


    【解决方案1】:

    假设您有一些File foo 指向c:\foo\bar\baz\music.wav,要获取父目录,您可以使用File.getParentFile()。我建议使用File 构造函数来构造子目录:

    File subdir1 = new File(foo.getParentFile(), "mysubdir1");
    if(!subdir1.exists()){
        subdir1.mkdirs();
    }
    

    由于您确定 subdir1 的父级存在,您可以改为调用 subdir1.mkdir(),但调用 mkdirs 不会丢失任何内容。

    【讨论】:

      【解决方案2】:

      我认为您正在寻找getParent() 函数之一。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 2021-04-21
        • 1970-01-01
        • 2012-05-09
        • 1970-01-01
        • 2020-08-05
        • 1970-01-01
        相关资源
        最近更新 更多