【发布时间】:2011-07-20 15:40:46
【问题描述】:
我正在尝试通过类路径为我的应用程序提供一个 .txt 文件。在我的启动脚本(与 .txt 文件位于同一文件夹中)中,我设置了以下内容:
设置 CLASSPATH=%CLASSPATH%;%CD%\sample.txt java -classpath %CD%\sample.txt
在我的应用程序中,我尝试了以下方法:
- getClass().getResource("sample.txt")
- getClass().getResource("/sample.txt")
- getClass().getResource("classpath:sample.txt")
以上都不起作用。任何帮助将不胜感激。
【问题讨论】:
-
您为什么要尝试将
CLASSPATH用于不包含类的内容? -
@Daniel - 将类路径用于非类资源(例如默认属性文件、消息包、模板)相当普遍。
-
你试过
Thread.currentThread().getContextClassloader().getResource()吗?getClass使用的类加载器取决于你调用方法的类。 -
@Andrew - 当然,询问细节没问题。我只是广义地解释了评论,即“你为什么要这样做?”。我不反对在这个特定情况下为某些上下文提供“为什么”会很好。
-
@Rob 我认为我们在同一个波长上。感谢您的澄清。