\是用class.getResource()方法得过来的,我改成了/后也没用

解决方案 »

  1.   

    比如 :你的文件放在 com.test.file 包下 , 文件名为 fuck.txt , 则   InputStream is = this.getClass().getResourceAsStream("com/test/file/fuck.txt");
      

  2.   

    是这样,我有一个公共的类,里面有一个读配置文件的方法,代码如下:
    public void redFile(String msgFileName){
        FileInputStream is = new FileInputStream(msgFileName);
        InputStreamReader ir = new InputStreamReader(is);
        BufferedReader in = new BufferedReader(ir);
        String sLine = in.readLine();
    }
    我的配置文件message.def 在monitor\Resource\config包下
    Resource.class在monitor包下
    我在外面调用redFile()方法是这样的:
    String msgFileName = (monitor.Resource.class).getResource("Resource/config/message.def");
    redFile(msgFileName);
    把程序打成.jar包后 得到的msgFileName就是
    file:\F:\JProjects\Monitor\Monitor.jar!\monitor\Resource\config\message.def
    用FileInputStream 读这个文件的话不行,如果用File类读的话就可以,为什么阿?