首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

用getResourceAsStream()读取外部文件的有关问题

2012-01-08 
用getResourceAsStream()读取外部文件的问题。在线等packagetestimportjava.io.InputStreamimportjava.ut

用getResourceAsStream()读取外部文件的问题。在线等
package   test;

import   java.io.InputStream;
import   java.util.Properties;

public   class   Test   {

        public   static   void   main(String[]   args)   throws   Exception   {
                Properties   loggerConfigs   =   new   Properties();
                ClassLoader   loader   =   Test.class.getClassLoader();
                InputStream   in   =   loader.getResourceAsStream( "/resources/logger.properties ");
//                 InputStream   in   =   Test.class.getResourceAsStream( "/resources/logger.properties ");
                loggerConfigs.load(in);
                String   loggerName   =   loggerConfigs.getProperty( "logger ");
                System.out.println(loggerName);
        }

}

文件夹放在classes目录下面。

上面的代码会报如下的错误:
java.lang.NullPointerException
at   java.io.Reader. <init> (Reader.java:61)
at   java.io.InputStreamReader. <init> (InputStreamReader.java:80)
at   java.util.Properties.load(Properties.java:266)
at   test.Test.main(Test.java:13)
Exception   in   thread   "main "  

如果使用被注释的那一行来读文件是成功的。

我的问题是使用ClassLoader来读取要怎么做才能成功呢?
最好有能执行的代码。谢了。

[解决办法]
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream is = classLoader.getResourceAsStream( "/resources/logger.properties ");

[解决办法]
ClassLoader loader = Test.class.getClassLoader();
InputStream in = loader.getResourceAsStream( "/resources/logger.properties ");

使用这个ClassLoader的时候,logger.properties要放在你的classpath中才能找得到~
[解决办法]
mark
[解决办法]
学习

热点排行