在编写代码时使用的是绝对路径来访问的这个文件,然而这个文件是在jar包中的,jar包中有自己的一套Url编址:jar:
解决办法就是在构造File对象时使用url来构造,而文件的url获取使用ClassLoader.
URL fileURL=this.getClass().getResource("0.txt");
File file = new File(fileURL);
FileInputStream fis = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));
new File("0.txt")代表相对路径,也就是读取与你当前运行的JAR文件在同一个文件夹内的0.txt文件。
你可以尝试把0.txt文件复制到JAR同文件夹下,或者使用绝对路径,如“c:\folder\0.txt”。
你都生成了JAR文件了,那就意味着相对路径就是变了
楼主建议你用绝对路径, 例如 "C:\Users\haha\Desktop\OBJC\0.txt"
这样就不会有错了。。。
有些编译器不同就会出错
出错就用 "C:\\Users\\haha\\Desktop\\OBJC\\0.txt"
写成 D:/a/b/0.txt
或者 D:\\a\\b\\0.txt,