当前位置: 首页 > 知识库问答 >
问题:

使用父目录创建新的文件实例将返回根目录中的文件,而不是父目录中的文件

洪俊拔
2023-03-14

我有这个方法来获取Java程序运行的目录。

public File getWorkingDir() {
    Path path = Paths.get("");
    
    return path.toFile(); // Returns "D:\users\Simon\myprogram"
}

但是,当我创建一个新的文件实例并将此目录作为其父目录时,它会在驱动器的根目录中返回一个文件

File file = new File(getWorkingDir(), "testfile");

我期望这个文件的绝对路径是D:\user\Simon\myProgram\testfile,但它的D:\testfile

共有1个答案

师承弼
2023-03-14

路径。get没有返回您期望的内容。文档中对其参数作了如下说明:

如果第一个是空字符串,并且更多的字符串不包含任何非空字符串,则返回表示空路径的路径。

必须解析空路径才能锁定其在文件系统中的位置。解析在文件类中的行为不同。方法文件。例如,getAbsolutePath,根据当前工作目录解析空路径。构造函数File(File,String)根据系统的默认目录解析空的父目录。

通过显式解析父目录,您可能会获得所需的结果:

public String getWorkingDir() {
    Path path = Paths.get("");
    
    return path.toFile().getAbsolutePath(); // Returns "D:\users\Simon\myprogram"
}

但是,当前工作目录可直接作为属性使用:

String workingDir = System.getProperty("user.dir");
 类似资料:
  • 在我的应用程序中,用户可以选择一个目录,在其中使用隐含的意图action_open_document_tree创建Excel文件。但是,中返回的Uri不能由使用。它抛出: 在中,我通过检查路径是否存在,如果不存在,我要创建一个新的Excel文件。 onActivityResult(): createNewExcelFile():

  • 干杯大家, 我需要python 3.6的帮助。所以我有这样的数据结构: 我目前正在主目录所在的目录下工作,所以我不需要在此之前指定路径。首先,我想遍历主目录,找到所有子目录。然后我想在他们每一个人身上找到。wav文件,当处理完这些文件后,我想转到下一个子目录,以此类推,直到它们都被打开。处理wav文件。这正是我想做的。wav文件被输入到我的程序中,处理它们,这样我就可以把它们转换成numpy数组,

  • 我已经添加了到我的POM,它无法完成,因为以下u [信息]---dockerfile-maven-plugin: 1.4.3: build(默认)@server-api---下载:https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.9.4/jackson-modules-b

  • 问题内容: 我需要将父目录和其他子目录中的文件包含到子目录中。我之前只使用include(’/ rootdirectory / file.php’); 但现在看来似乎行不通。 只是想知道我该怎么做,谢谢。 这是我的确切行: 它给我这个错误(页面仍在运行): 警告: include(/forums/groups.php)[function.include]:无法打开流:C:\ xampp \ htd

  • 我已经将apache虚拟主机配置文件的文档根目录设置为laravel的公共目录。我有一个angular 4应用程序,内置在public/dashboard dist目录中。我已将此目录添加为搜索视图config/view的位置。php如下所示: 成功登录后,我可以将用户重定向到该目录中的dashboard-index.php。但是该文件中的所有资产链接(js、css等)都无法加载并返回404。例如

  • 问题内容: 我试图在该目录中创建一个新目录和一个文件。谁能告诉我我要去哪里错了? 我正在使用Windows系统,并且我希望该目录存在于我的文件所在的文件夹中。 问题答案: 基本上,正在发生的事情是,您正在创建一个名为的目录,然后尝试创建一个名为同一个东西的新文件,这显然行不通。 所以,而不是… 尝试… 额外 如果失败,实际上不会抛出任何异常,这很烦人,所以我会做更多类似的事情… 就这样我知道实际的