A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 939676244 中级黑马   /  2013-9-20 10:32  /  1896 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 杨增坤 于 2013-9-22 21:04 编辑

在用eclipse写读取文本的时候,错误是找不到系统指定文件,需要把读取的文件放在哪里才可以,?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

5 个回复

正序浏览
一般有两种方式
1.绝对路径
InputStream in = new FileInputStream("E:/test.txt");   文件在E盘下
2.相对路径
InputStream in = new FileInputStream("test.txt");
test.txt放在该工程的同级目录下,也就是test.txt和 .project在一个文件夹中

评分

参与人数 1技术分 +1 收起 理由
杨增坤 + 1

查看全部评分

回复 使用道具 举报
果断的说,菜鸟我木有懂呀{:soso_e110:}
回复 使用道具 举报
看你怎么读取的
1、如果读取有指定路径,就应该放在该路径下 fr = new FileReader("F:\\fwtest.txt");
2、如果读取没有指定路径,fr = new FileReader("fwtest.txt");  就放在你该项目的包目录下

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报

这是一个关于文件路径的问题:
1.尽量不要使用相对于System.getProperty("user.dir")当前用户目录的相对路径。这是一颗定时炸弹,随时可能要你的命。

  2.尽量使用URI形式的绝对路径资源。它可以很容易的转变为URI,URL,File对象。

  3.尽量使用相对classpath的相对路径。不要使用绝对路径。使用上面ClassLoaderUtil类的public static URL getExtendResource(String relativePath)方法已经能够使用相对于classpath的相对路径定位所有位置的资源。

  4.绝对不要使用硬编码的绝对路径(D:\\***)。因为,我们完全可以使用ClassLoader类的getResource("")方法得到当前classpath的绝对路径。
使用硬编码的绝对路径是完全没有必要的!它一定会让你死的很难看!程序将无法移植!

  如果你一定要指定一个绝对路径,那么使用配置文件,也比硬编码要好得多!

  当然,我还是推荐你使用程序得到classpath的绝对路径来拼资源的绝对路径!


希望对你有帮助!

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1

查看全部评分

回复 使用道具 举报 1 0
放在项目的根目录下试一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马