关于IO操作,文件路径问题。 本帖最后由 roypayne0305 于 2013-10-06 08:56:16 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 File f2 = new File("bb.txt");这个在eclipse里是在项目的根目录下,在cmd运行时当前路径下。 txt文件不是和java文件在同一个目录吗?为什么这样就不行?谁解释下?难道是编译后的class文件在同一个目录吗?谁知道? 这种相对路径是相对 System.getProperty("user.dir")而言的,你输出一下user.dir的内容就知道了。 为毛是这样呢?谁懂?能分析的更底层一点吗?因为在eclipse中是以项目为单位滴。TestIo这个项目里面有bb.txt文件吗? 应该放在项目下,而不是和SRC同级的。 如果你不提供具体磁盘路径(例如:d:\\)这样行式,那么程序在执行过程中会默认把当前工程所在目录(也就是比src更上一级目录)作为文件目录!当你执行代码创建文件程序无误后,右键点击工程刷新工程就能找到文件了! 应该放在TESTIO下面, System.getProperty("user.dir") 为毛是这样呢?谁懂?能分析的更底层一点吗?首先java的相对路径是以System.getProperty("user.dir")为参照的,就是你的类编译后bin(相对于IDE)的路径,但是你的bb.txt在bin目录下的test/io/TestTxt下,当然找不到了,你首先要明白,你的src路径并不是你最后的类路径,而且类的路径和文本文件不是在一个目录下就能找到的,明白? 试一下这个吧InputStream is = this.getClass().getClassLoader() .getResourceAsStream("bb.txt"); 正则表达式匹配中文问题 求 答案啦 init()的作用 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException 关于Properties类使用迷惑。。 求教JTaxtPane如何捕捉键盘事件 关于对象转型的问题 关于 FileReader 问题 请各位大侠给我介绍一个JAVA编译器,有劳了! 正则表达式 苦逼的编程!我已经学编程4年了,可。。。 为何总是找不到程序入口
这个在eclipse里是在项目的根目录下,在cmd运行时当前路径下。
txt文件不是和java文件在同一个目录吗?为什么这样就不行?谁解释下?难道是编译后的class文件在同一个目录吗?谁知道?
因为在eclipse中是以项目为单位滴。TestIo这个项目里面有bb.txt文件吗?
首先java的相对路径是以System.getProperty("user.dir")为参照的,就是你的类编译后bin(相对于IDE)的路径,但是你的bb.txt在bin目录下的test/io/TestTxt下,当然找不到了,你首先要明白,你的src路径并不是你最后的类路径,而且类的路径和文本文件不是在一个目录下就能找到的,明白?
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("bb.txt");