我是在eclipse环境下测试的,Java文件和ppp.txt文件都是位于Java Web工程的src\com\wbj\test\目录下面,现在我把ppp.txt文件的路径全部写全写死,即将ReaderAndWriter.java中的MyReader reader = new MyReader("ppp.txt"); 改变为 MyReader reader = new MyReader("D:\\WorkSpace\\CodeWareHouse\\src\\com\\wbj\\test\\ppp.txt");这样程序在断点处就能正确执行了,如果不写路径直接用ppp.txt文件名作为构造函数的参数值得话,无论是把ppp.txt文件放在src根目录还是classes目录下面,断点处都会抛出异常,不知道究竟问题出在哪里?
如果直接写ppp.txt的话,是用的相对目录,它会寻找与该工程目录下面的第一个目录里面的文件如果你觉得不是很清晰的话,你可以这样 先 File f = new File("ppp.txt"); System.out.println(f.getAbsolutePath());这样执行看实际上ppp.txt的路径是在哪里,然后你再将文件放到相应的位置。
改变为
MyReader reader = new MyReader("D:\\WorkSpace\\CodeWareHouse\\src\\com\\wbj\\test\\ppp.txt");这样程序在断点处就能正确执行了,如果不写路径直接用ppp.txt文件名作为构造函数的参数值得话,无论是把ppp.txt文件放在src根目录还是classes目录下面,断点处都会抛出异常,不知道究竟问题出在哪里?
如果直接写ppp.txt的话,是用的相对目录,它会寻找与该工程目录下面的第一个目录里面的文件如果你觉得不是很清晰的话,你可以这样
先
File f = new File("ppp.txt");
System.out.println(f.getAbsolutePath());这样执行看实际上ppp.txt的路径是在哪里,然后你再将文件放到相应的位置。
你这样写的话 有没有把ppp.txt这个文件放到你写代码的那个文件目录下面呢???
直接放盘根目录得了
比如D:\\aa.txt
用getAbsolutePath()方法测试一下就可以知道File对象的相对路径了,所以xiesisi3和zhuyouyong的回答是最贴切的!