我正在使用属性文件:
try
{
properties.load(new FileInputStream("filename.properties"));
}
catch (IOException e)
{
}
我应该在哪里放置filename.properties
?我不想指定绝对路径,因为此代码必须在不同平台上工作。我试图将它放在与de class相同的目录中,但它不起作用。 (对不起,如果这是一个愚蠢的问题)
也许我可以以某种方式获得当前课程的路径?
答案 0 :(得分:4)
确保您的属性文件可用于已编译的(.class)文件并以此方式获取
getClass().getResource("filename.properties") // you get an URL, then openStream it
或
getClass().getResourceAsStream("filename.properties") // you get an InputStream
示例:
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);
}
}
这个main在运行时检索自己的编译版本:
文件:/ C:/ _项目/工具箱/目标/类/组织/游戏/工具箱/ SampleLoad.class
答案 1 :(得分:0)
您可以使用: String userDir = System.getProperty(“user.dir”);