java - IntelliJ 14 IDEA - 找不到文件的正确路径

标签 java file unit-testing intellij-idea path

我正在尝试通过运行/调试配置中的 android 测试来测试 IntelliJ IDEA 14 中我的一个类。我遇到的问题是我似乎无法找到文件的路径,这让我有点困惑。

我的文件位置位于:

main/tests/res/xml/myfile.xml

这是我的源代码:

public final void testMain() throws IOException, XmlPullParserException {

    String curDir = System.getProperty("user.dir");
    File file = new File( myfile.xml );

    Log.d( TAG, "Current sys dir: " + curDir);
    Log.d( TAG, "Current abs dir: " + file.getCanonicalPath());
    Log.d(TAG, "Exists?: " + file.exists());

    if (!file.exists()) {
        fail( "Failed to find file: " +
                file.getAbsolutePath());
    }
}

这是我的日志输出(抱歉格式错误):

Current sys dir: /
Current abs dir: /myfile.xml
Exists?: false
Failed to find file: /myfile.xml

为什么我当前的系统目录只有一个正斜杠?我如何获得从“/”到“myfile.xml”的完整路径

谢谢。

最佳答案

您在运行/调试配置中指定 IntelliJ idea 中的工作目录。在 IntelliJ 工具栏中,查找运行图标(绿色三角形)。运行图标的左侧应该有一个下拉菜单。单击下拉菜单。单击编辑配置。选择您的配置并将工作目录设置为您需要的任何目录。

当您从 IntelliJ 运行程序(或开始调试)时,IntelliJ 会将应用程序的工作目录设置为您在上面指定的任何目录。无法阻止 IntelliJ 设置目录。程序中的所有相对路径都将相对于该目录。您的程序可以使用System.getProperty("user.dir")找到该目录。

关于java - IntelliJ 14 IDEA - 找不到文件的正确路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28160713/

相关文章:

java - 用户上传的文件放在哪里?

javascript - sinon 模拟 withArgs 中具有未知值的对象 - sinon.match

c# - 将匿名类型转换为动态类型

c++ - 从单元测试 .EXE 项目中引用来自 VC++ .EXE 项目的类

java - 如何使用 Guava 连接两个表

java - 是否可以配置字符串生成器,使得附加函数不会在附加之前将数据转换为字符串

java - 如何散列文件以确定我是否已经看到它

java - 在该行中搜索文本时如何返回该行

java - 实例化新 Activity 会导致应用程序崩溃

Java keyListener 不适用于 BasicConstruct