JAVA类在没打包之前读取文件和打包之后读取文件的路径是一样的(用绝对路径-----比如:"/root/demo/test.txt"),但一般为了可移植性,大家都用相对路径.在用相对路径下,路径是不一样的 如果你要读的文件包含在项目目录下,你用pro.load(getClass().getResourceAsStream("/demo/test.txt"));可以找到,但是你一旦不这个类打成jar包,想让jar包读外边路径的文件,前面的方法就不行了, 这里你就要用File file = new File("demo/test.txt"); ,这里的文件路径是与你jar包的放置路径平行
URL u = this.getClass().getClassLoader().getResource("/file/1234.gif"); InputStream is = this.getClass().getClassLoader().getResourceAsStream("/file/1234.gif") http://www.java2000.net/viewthread.jsp?tid=160 请参考
其余的 入境 全是外面的 比如你以前 写的入境 demo/test.txt
这个txst.txt
放在 包demo中 打包成 jar以后
他还是回去找demo/text.txt
并不会去找jar里面的那个demo/text.txt
如果你要读的文件包含在项目目录下,你用pro.load(getClass().getResourceAsStream("/demo/test.txt"));可以找到,但是你一旦不这个类打成jar包,想让jar包读外边路径的文件,前面的方法就不行了,
这里你就要用File file = new File("demo/test.txt"); ,这里的文件路径是与你jar包的放置路径平行
InputStream is = this.getClass().getClassLoader().getResourceAsStream("/file/1234.gif") http://www.java2000.net/viewthread.jsp?tid=160
请参考