あなたはEclipseを使用していて、テキストファイルを「src」パッケージにドラッグアンドドロップしたと言いました。「src」はパッケージではありません。これは単なるファイル システム ディレクトリです。デフォルトでは、Eclipse の Java プロジェクトでは、すべてのソース コードが「src」というディレクトリに保存され、すべての .class ファイルが「bin」というディレクトリに保存されます。getClass().getResource() は、.class ファイルの場所に解決されます。テキスト ファイルを「bin」ディレクトリに移動する必要があります。
あなたのクラスはどのパッケージに入っていますか?
デフォルトのパッケージに非常によく似たコードを書き、Eclipseで実行しました。
import java.io.File;
public class ResourceTest {
public static void main(String[] args) {
ResourceTest rt = new ResourceTest();
rt.openFile();
}
public void openFile() {
String path = this.getClass().getResource("/resources/file.txt").getFile();
File file = new File(path);
System.out.println(path);
System.out.println(file.getAbsolutePath());
System.out.println(file.exists());
}
}
次の出力が表示されます。
/C:/Users/rab29/Documents/eclipse/Overflow/bin/resources/file.txt
C:\Users\rab29\Documents\eclipse\Overflow\bin\resources\file.txt
true