私は、実行時に相対パスからファイルを参照するにはどうすればよいではなく、コンパイル時

LP:

私はにあるクラスファイルを持っています:

src/test/java/suites/suite/MyClass.Java

私はまたにあるリソースファイルを持っています:

src/test/resources/suites/suite/myresource.txt

リソースは、以下の方法を介して生成されます。

private void generateFile(String filepath) throws IOException {
    FileOutputStream outputStream = new FileOutputStream(filepath);
    outputStream.write(encodedString);
    outputStream.close();
}

私は、コードの後の時点でのファイルのアクセスに必要がありますが、私が手NullPointerException次のコード行で:

new File(getClass().getResource("/suites/suite/myresource.txt").toURI();

ファイルがコンパイル時に存在していなかったためです。どのように私は、この場合の相対パスからファイルを参照していますか?私はそれは絶対パスを使用して作業しているが、私はこれが一般的なようにする必要があります。

ルカ・ユング:

何について:

new File("/suites/suite/myresource.txt").getCanonicalPath();

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=345369&siteId=1