IntelliJ IDEA 的working directory问题

greatyuqing 2013-12-27 07:52:12
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));

上面这行代码在IntelliJ IDEA中会报FileNotFoundException。
我的input.txt与该java类在同一目录下,而且我也检查了IntelliJ IDEA的输出目录,即out/production/{Project}/{Module},input.txt与编译好的class文件也都存在,且在同一目录。
请教为什么class和input.txt明明在同一目录下,还是会报FileNotExcption异常?

后来经过google,发现edit configurations里面有个working directory,这个值是{Project}目录,即项目的根路径,把input.txt放在这里,则运行成功。
或者修改working directory,指向输出目录(见上文),也可以运行成功。
难道每个module的working directory都要手动修改到输出目录吗?还是我没有设置好?
...全文
4886 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
teemai 2013-12-29
  • 打赏
  • 举报
回复
#2 #3是对的
raistlic 2013-12-29
  • 打赏
  • 举报
回复
引用 楼主 greatyuqing 的回复:
难道每个module的working directory都要手动修改到输出目录吗?还是我没有设置好?
是的,——但是不建议你这样做。 从项目结构来说,input.txt 是资源文件而不是Java的类,资源文件最好是用 working directory 的相关路径,或者用主流操作系统都支持的用户路径。 如果非要把它跟 Java 类一起打入jar包,那读取的时候可以用 class path,比如 InputStream in = XXX.class.getResourceAsStream("input.txt");
huntor 2013-12-27
  • 打赏
  • 举报
回复
和.class 放到一起的使用 getResourceAsStream 读
huntor 2013-12-27
  • 打赏
  • 举报
回复
应该放到 System.getProperty("user.dir")下
lcf 2013-12-27
  • 打赏
  • 举报
回复
都要在run configuration里面手动修改

62,634

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧