JAVA读取了本地TXT,但是导出JAR并运行时提示系统找不到指定路径??求助
在eclipse里直接运行可以,但一旦生成JAR文件就不行了,路径和文件都对了。是不是相对路径不对?其中的代码是这样的:Filefile=newFile(“0.txt”)...
在eclipse里直接运行可以,但一旦生成JAR文件就不行了,路径和文件都对了。是不是相对路径不对?其中的代码是这样的:
File file = new File(“0.txt”);
FileInputStream fis = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));
是不是不应该用这钟路径方式表示啊??
那应该怎么表示了? 展开
File file = new File(“0.txt”);
FileInputStream fis = new FileInputStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(fis));
是不是不应该用这钟路径方式表示啊??
那应该怎么表示了? 展开
4个回答
展开全部
在编写代码时使用的是绝对路径来访问的这个文件,然而这个文件是在jar包中的,jar包中有自己的一套Url编址:jar:<url>!/{entry})。所以导致运行时无法访问到文件。
解决办法就是在构造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));
解决办法就是在构造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”。
你可以尝试把0.txt文件复制到JAR同文件夹下,或者使用绝对路径,如“c:\folder\0.txt”。
追问
那我要把JAR包发布或者移植到其它机子上怎么办?绝对路径不是会出错吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写成 D:/a/b/0.txt
或者 D:\\a\\b\\0.txt,
或者 D:\\a\\b\\0.txt,
追问
那我要把JAR包发布或者移植到其它机子上怎么办?绝对路径不是会出错吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询