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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张 涛 中级黑马   /  2012-9-14 14:01  /  1249 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张 涛 于 2012-9-23 07:15 编辑

文件在路径中存在的位置如图,代码如下:
  1. InputStream in = null;
  2. in = new FileInputStream("proxy\\prop.ini");
复制代码
我原先的理解是这样的:Eclipse下,bin的文件夹就是根目录。
所以我的文件在bin\\proxy\\porp.ini,我加载的时候我就写“proxy\\porp.ini”,为什么找不到呢?
改成“\\proxy\\porp.ini”,也不对,找不到。
改成“porp.ini”也不对,为什么呢?

d.png (15.79 KB, 下载次数: 96)

d.png

3 个回复

倒序浏览
public class Test02 {

        /**
         * @param args
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
                //使用类加载加载classpath下的文件
                ClassLoader  ld=Test02.class.getClassLoader();
                InputStream in =ld.getResourceAsStream("it/heima/com/prop.ini");
                byte[]  by=new byte[1024];
                int i=0;
                while((i=in.read(by))!=-1){
                        System.out.println(new String(by, 0, by.length));
                }

        }

QQ截图20120914143047.png (8.34 KB, 下载次数: 103)

QQ截图20120914143047.png
回复 使用道具 举报
IO流的路径根是相对于工程的根路径的,你的文件在bin\\proxy\\porp.ini,
所以InputStream in = null;
in = new FileInputStream("bin\\proxy\\porp.ini");
你可以这样试试
回复 使用道具 举报
最好的方式是:
ProxyTest.class.getResourceAsStream("prop.ini");//根据类的路径来找。张孝祥老师高新技术视频反射部分有讲到资源文件的加载方式。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马