您说您正在使用 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