プロジェクト・ファイル・システム:完璧に動作相対パスの明確化
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT,
getClass().getResourceAsStream("/neuropol x rg.ttf")));
:
Project
|
-----bin
|
-----.settings
|
-----src
|
-----(default package)
|
-----Main.Java
|
-----neuropol x rg.ttf
私はそうのようなフォントを設定するプログラムを持っています。私が把握しようとしていることは、相対的な経路がどのように働いているかです。
...getResourcesAsStream("/src/neuropol x rg.ttf")
しかし、それは罰金、私はポストの上でそれを持っているように動作します:動作するためにあなたはパスがあるべきだと思いますので、それでneuropol x rg.ttf
ファイルには、私のsrc
フォルダに座っています。
System.out.println(System.getProperty("user.dir"));
この:このケースでは、私はフォントが作成され、右下の次の行を挿入することで確認している私のプロジェクトフォルダ、相対パスであるルートがどこコードが実行されてからしなければならない私の理解、へlineはプロジェクトフォルダを返します。だから、srcフォルダをパスに追加しないとどうして動いてきますか?私は相対的な経路の根がどこにあるのか混乱していますか?
あなたのコードがコンパイルされると、 'src /'フォルダはもはや存在しません。 –