【问题标题】:How can I reference the IntelliJ project path in my code?如何在我的代码中引用 IntelliJ 项目路径?
【发布时间】:2018-04-28 08:41:33
【问题描述】:

我的项目中有一个文本文件,需要阅读其内容:

private final static String SOURCE_FILE = "C:/Project/resources/Source.txt";

是否可以使用 IntelliJ 变量?

private final static String SOURCE_FILE = "${ProjectDir}/resources/Source.txt";

我想避免在我的代码中硬编码路径。

【问题讨论】:

    标签: intellij-idea intellij-idea-2016


    【解决方案1】:

    在大多数情况下,您应该做的是将文件放入项目/模块的资源目录中(src/main/resources 默认工作,如果它不存在,您可以创建它)并使用方法访问它getResourcegetResourceAsStreamClassClassLoader 上。请参阅 Oracle 的 Accessing Resources 指南。

    主要的例外是如果您需要将此文件传递给外部程序。

    【讨论】:

    • 我用过getClassLoader().getResourceAsStream(FILE_NAME)
    【解决方案2】:

    例如,如果您在项目结构中添加了一个文件夹音频,那么您可以像这样访问它:

    new File(".\\Audio\\MyAudioFile.mp3")
    

    祝你好运,如果您有任何问题,请随时在 cmets 中拍摄 :)

    【讨论】:

    • 因为您的 java 代码查看您的源文件夹,就好像它是唯一的一样,他住在源文件夹中,如果您说 private final static String SOURCE_FILE = "C: /Project/resources/Source.txt";
    • 这不是真正的原因。 Java 代码不知道它的来源;这个路径是相对于工作目录的,当你从IDEA运行代码时,它会默认将项目目录设置为工作目录,你可以更改。
    猜你喜欢
    • 2015-03-07
    • 1970-01-01
    • 2019-09-17
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    相关资源
    最近更新 更多