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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 yting_xmei1129 于 2013-9-23 20:56 编辑

// 废话不多说,直接上源代码,想看效果就先把注释去掉再运行、、、
package com.yting.readfile;
import java.io.*;
//使用相对路径获取文件的心得public class ReadFileDemo {
        public static void main(String[] args) throws Exception {                String filepath1 = "resource1.txt";                String filepath2 = "resource2.txt";                String filepath3 = "resource3.txt";                                //普通方式使用相对路径获取文件                FileInputStream fis1 = new FileInputStream(filepath1);                //FileInputStream fis2 = new FileInputStream(filepath2);                   //FileInputStream fis3 = new FileInputStream(filepath3);                     System.out.println(fis1.read());                //System.out.println(fis2.read());   // java.io.FileNotFoundException: resource2.txt                //System.out.println(fis3.read());   // java.io.FileNotFoundException: resource3.txt                                //总结1 : fis2 跟 fis3 会报告 java.io.FileNotFoundException 文件未发现异常                //这种普通的方式使用相对路径获取文件的相对目录是工程名ReadFile                                                //类加载器获取文件方式之 1                //InputStream is1 = ReadFileDemo.class.getClassLoader().getResourceAsStream(filepath1);                //InputStream is2 = ReadFileDemo.class.getClassLoader().getResourceAsStream(filepath2);                InputStream is3 = ReadFileDemo.class.getClassLoader().getResourceAsStream(filepath3);                //System.out.println(is1.read());   //java.lang.NullPointerException                //System.out.println(is2.read());   //java.lang.NullPointerException                System.out.println(is3.read());                                //总结2: is2 跟 is3 会报告 java.lang.NullPointerException 空指针异常                //这种使用类加载器获取文件的话相对目录是类的根目录,从这里看的话是src目录,被编译过后的目录名                //叫做bin                                //类加载器获取文件方式之 2                //InputStream iss1 = ReadFileDemo.class.getResourceAsStream(filepath1);                InputStream iss2 = ReadFileDemo.class.getResourceAsStream(filepath2);                //InputStream iss3 = ReadFileDemo.class.getResourceAsStream(filepath3);                //System.out.println(iss1.read());   //java.lang.NullPointerException                System.out.println(iss2.read());                //System.out.println(iss3.read());   //java.lang.NullPointerException                                //总结3: iss1 跟 iss 3 会报告  java.lang.NullPointerException 空指针异常                //这种使用类加载器获取文件的话相对目录是这个ReadFileDemo.java类所在的目录                //也就是这个 ReadFile/src/com/yting/readfile 目录                                //以上为相对目录读取文件的方式,绝对路径的话大家都懂的,不解释了 - - !                //初学者看下可以少走弯路,个人经验,分享一下、、、                //The you smile until forever、、、、、、、、、、、、、、、、、、、、、        }
}


评分

参与人数 1技术分 +1 收起 理由
曹秀云 + 1 好乱写的

查看全部评分

1 个回复

倒序浏览
本来不乱的,复制到这里就乱了、、、
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马