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));
是不是不应该用这钟路径方式表示啊??
那应该怎么表示了?
展开
 我来答
雷赟73
2017-08-10
知道答主
回答量:1
采纳率:0%
帮助的人:976
展开全部
在编写代码时使用的是绝对路径来访问的这个文件,然而这个文件是在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));
百度网友e6372b0
2015-11-02
知道答主
回答量:5
采纳率:0%
帮助的人:5854
展开全部
new File("0.txt")代表相对路径,也就是读取与你当前运行的JAR文件在同一个文件夹内的0.txt文件。
你可以尝试把0.txt文件复制到JAR同文件夹下,或者使用绝对路径,如“c:\folder\0.txt”。
追问
那我要把JAR包发布或者移植到其它机子上怎么办?绝对路径不是会出错吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
九尾y
推荐于2017-09-08 · TA获得超过290个赞
知道小有建树答主
回答量:325
采纳率:85%
帮助的人:93.5万
展开全部
你都生成了JAR文件了,那就意味着相对路径就是变了

楼主建议你用绝对路径, 例如 "C:\Users\haha\Desktop\OBJC\0.txt"
这样就不会有错了。。。

有些编译器不同就会出错
出错就用 "C:\\Users\\haha\\Desktop\\OBJC\\0.txt"
更多追问追答
追问
那我要把JAR包发布或者移植到其它机子上怎么办?绝对路径不是会出错吗?
追答

那肯定出错了。。。。那你用相对路径吧,,,把文件加在工程下面。。。然后再生成jar

像这样加在里面:

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8a627e7
2015-11-02 · TA获得超过304个赞
知道小有建树答主
回答量:705
采纳率:50%
帮助的人:469万
展开全部
写成 D:/a/b/0.txt

或者 D:\\a\\b\\0.txt,
追问
那我要把JAR包发布或者移植到其它机子上怎么办?绝对路径不是会出错吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式