日期:2014-05-20  浏览次数:20723 次

一个InputStream的问题,好奇怪啊!
Java code


    // 我的com.aaa.bbb.XXXAction类中有一个函数。

    // 使用这个函数的时候,传入的参数"/resources/cardName.properties"

    private Properties readPropertiesValue(String filePath) {
        Properties props = new Properties();
        try {
            Class<? extends CouponJKBAction> clazz = this.getClass();

            // 从这里跳入函数内部,参数却变成了"com.aaa.bbb.XXXAction",这是怎么回事????
            InputStream in = clazz.getResourceAsStream(filePath);   
            props.load(in);
        } catch (Exception e) {
            logger.error(e.getMessage());
        }
        return props;
    }





------解决方案--------------------
你看成clazz的值了吧
------解决方案--------------------
你怎么知道参数变成了那个,仅仅从你给的程序来看,filePath是不会改变的,除非在哪个地方已经改过了,或者传进来的参数就不是你预想的值,要么你贴完整代码,要么自己自己查查
------解决方案--------------------
你怎么确定参数值的,用println打印下,看看方法之前之前的filePath,然后在方法执行的时候在println以下filePath,问题就很明了了
------解决方案--------------------
他是调试的