如何使用ClassLoader加载txt文件?

时间:2012-04-17 09:46:06

标签: java resources classloader

我有以下代码:

 public class App {
   public static void main(String[] args) {
     System.out.println(App.class.getClassLoader().getResource("test.properties"));
     System.out.println(App.class.getClassLoader().getResource("test.txt"));
     System.out.println(App.class.getClassLoader().getResourceAsStream("test.properties"));
     System.out.println(App.class.getClassLoader().getResourceAsStream("test.txt"));
     System.out.println(App.class.getResourceAsStream("test.properties"));
     System.out.println(App.class.getResourceAsStream("test.txt"));
   }
 }

此代码提供以下输出:

file:/C:/../test.properties 
null 
java.io.BufferedInputStream@18e2b22 
null 
java.io.BufferedInputStream@1cb1c5fa 
null 

为什么ClassLoader拒绝加载.txt文件?

更新:

我确定我的两个文件都在classpath中。 Classpath设置为/ src,两个文件都在此目录中。

2 个答案:

答案 0 :(得分:2)

很可能你的txt文件不在类路径上

答案 1 :(得分:1)

您需要确保使用ClassLoader加载的任何文件都包含在classpath中。通常情况下,这样的资源存储在/src/main/resources中,然后包含在类路径中。

如果您正在使用Eclipse,则可以右键单击资源管理器中的项目,然后转到Properties -> Java Build Path -> Source (Tab) -> Add Folder... (Button)并在其中添加文件夹结构。