项目文件系统:相对路径澄清
Project
|
-----bin
|
-----.settings
|
-----src
|
-----(default package)
|
-----Main.Java
|
-----neuropol x rg.ttf
我有一个计划,设置字体,像这样:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT,
getClass().getResourceAsStream("/neuropol x rg.ttf")));
这很好地工作。我试图弄清楚的是相对路径是如何工作的。所以neuropol x rg.ttf
文件坐在我src
文件夹,所以为了工作,你会认为路径应该是:
...getResourcesAsStream("/src/neuropol x rg.ttf")
但它工作正常,在文章顶部我有它的方式。据我了解的相对路径根应地方的代码是从运行,在这种情况下是我的项目文件夹,这是我通过插入下面的行正下方位置创建字体证实:
System.out.println(System.getProperty("user.dir"));
这行返回项目文件夹。那么如何在没有将src文件夹添加到路径的情况下工作呢?我困惑于相对路径的根源在哪里?
当你的代码被编译时,src /'文件夹不再存在。 –