Intellij idea 如何在代码中引用IntelliJ项目路径?

Intellij idea 如何在代码中引用IntelliJ项目路径?,intellij-idea,intellij-idea-2016,Intellij Idea,Intellij Idea 2016,我的项目中有一个文本文件,需要读取其内容: private final static String SOURCE_FILE = "C:/Project/resources/Source.txt"; 是否可以使用IntelliJ变量 private final static String SOURCE_FILE = "${ProjectDir}/resources/Source.txt"; 我希望避免在代码中硬编码路径。例如,如果您将文件夹音频添加到项目结构中,则可以如下方式访问它: new

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

private final static String SOURCE_FILE = "C:/Project/resources/Source.txt";
是否可以使用IntelliJ变量

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

我希望避免在代码中硬编码路径。

例如,如果您将文件夹音频添加到项目结构中,则可以如下方式访问它:

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

祝你好运,如果你有任何问题,请随时发表评论:)

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

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

祝你好运,如果你有任何问题,请随时发表评论:)

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


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

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


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

因为您的java代码将源文件夹视为唯一的文件夹,它位于源文件夹中,因此如果您说private final static String source\u file=“C:/Project/resources/source.txt”;这不是真正的原因。Java代码不知道它的源代码;此路径相对于工作目录,当您运行IDEA中的代码时,默认情况下,它会将项目目录设置为工作目录,您可以更改此路径。因为您的java代码将源文件夹视为唯一的文件夹,因此它位于源文件夹中,例如,如果您说private final static String SOURCE_FILE=“C:/Project/resources/SOURCE.txt”,则其行为会有所不同;这不是真正的原因。Java代码不知道它的源代码;此路径相对于工作目录,当您从IDEA运行代码时,它会将项目目录默认设置为工作目录,您可以更改。我使用了
getClassLoader().getResourceAsStream(文件名)
I使用了
getClassLoader().getResourceAsStream(文件名)