用普通的IO类,需要通过配置文件,指定资源或配置文件的位置。
因为资源和配置文件要跟着编译成的.class一起走,所以可以通过获取当前运行的类的位置运算出资源或配置文件的位置。
一定要记住用完整的路径,但完整的路径不是硬编码,而是运算出来的。
ClassLoader.getResourceAsStream()会在classpath指定的目录下逐一的去查找你要加载的文件。类加载器会在classpath指定的目录下一个个去查找.class,找到了为止。同样他也会在那些位置去找你指定的某个文件。
eclipse会将源程序目录下的所有.java文件编译成.class放到classpath所指定的目录下。所有非.java文件按照目录结构,原封不动的搬到classpath所指的的目录下。
配置文件跟类加载器放在一起用类加载器会方便很多,但是这样有个问题,就是只读。
用class.getResourceAsStream()还要方便一点,他会相对于当前类的目录还查找。类加载器要从classpath开始写文件结构。