de3*_*de3 5 java properties path relative-path
我正在使用属性文件:
try
{
properties.load(new FileInputStream("filename.properties"));
}
catch (IOException e)
{
}
Run Code Online (Sandbox Code Playgroud)
我应该放在哪里filename.properties?我不想指定绝对路径,因为此代码必须在不同平台上工作。我试图将它放在与 de class 相同的目录中,但它不起作用。(对不起,如果这是一个愚蠢的问题)
也许我可以以某种方式获取当前类的放置路径?
确保您的属性文件可用于您编译的(.class)文件并以这种方式获取它
getClass().getResource("filename.properties") // you get an URL, then openStream it
Run Code Online (Sandbox Code Playgroud)
或者
getClass().getResourceAsStream("filename.properties") // you get an InputStream
Run Code Online (Sandbox Code Playgroud)
例子:
import java.net.URL;
public class SampleLoad {
public static void main(String[] args) {
final URL resource = SampleLoad.class.getResource("SampleLoad.class");
System.out.println(resource);
}
}
Run Code Online (Sandbox Code Playgroud)
这个 main 在运行时检索它自己的编译版本:
文件:/C:/_projects/toolbox/target/classes/org/game/toolbox/SampleLoad.class