java加载文件的方式
来源:互联网 发布:宏源证券交易软件 编辑:程序博客网 时间:2024/05/22 10:51
在javaSE编程中,主要有两种方式加载文件:(一)使用类加载器进行加载,(二)不使用类加载器
首先创建一个java工程,工程的目录结构如下图所示:
注意:在src目录下的configer.propery中存放的内容为:configerPath = classpath.property;在com.xilin.jiong文件下的 configer.propery的内容为:configerPath = com.xilin.jiong.property
1.不使用类加载器的方式加载文件
public class ResourcePath {public static void main(String[] args) {InputStream inputStream = null;try {//获取要读取文件的输入流inputStream = Class.forName(ResourcePath.class.getName()).getResourceAsStream("configer.property");//调用读取文件的方法readProperty(inputStream);} catch (ClassNotFoundException e) {e.printStackTrace();} finally {if (inputStream != null) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}}/** * 读取文件的方法 * @param inputStream 输入文件流 */public static void readProperty(InputStream inputStream) {Properties properties = new Properties();try {properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}System.err.println(properties.get("configerPath"));}}此时运行的结果为:com.xilin.jiong.property。实际上此时读取的是com.xilin.jiong文件下的 configer.propery的内容。
当我们把inputStream = Class.forName(ResourcePath.class.getName()).getResourceAsStream("configer.property")稍微修改一下,将"configer.property"改为"/configer.property",此时的运行结果为:classpath.property。当加上斜杠的时候,文件是从该工程的ClassPath路径查找文件的。当没有反斜杠的时候,是从该Class类的当前文件中查询文件的。这个一定得注意彼此的区别!
2.使用类加载器读取文件
将上面的代码稍微修改一下,如下所示:
public class ResourcePath {public static void main(String[] args) {InputStream inputStream = null;inputStream =ResourcePath.class.getClassLoader().getResourceAsStream("configer.property"); readProperty(inputStream);if (inputStream != null) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}/** * 读取文件的方法 * @param inputStream 输入文件流 */public static void readProperty(InputStream inputStream) {Properties properties = new Properties();try {properties.load(inputStream);} catch (IOException e) {e.printStackTrace();}System.err.println(properties.get("configerPath"));}}此时运行的结果为:classpath.property,读取的为src下的configer.property文件。如果要读取com.xilin.jiong.configer.property文件,需要将inputStream =ResourcePath.class.getClassLoader().getResourceAsStream("configer.property")中标红的修改为:"com/xilin/jiong/configer.property"
只需掌握其中一种方式即可!仅供参考............
1 0
- java加载文件的方式
- java加载文件的3种方式
- java加载文件的几中方式
- java 加载文件的几种方式
- java加载文件的三种方式
- 加载文件的方式
- java 加载资源文件方式
- JAVA 加载文件的三种方式的区别
- Java 加载Properties文件的六种方式
- Java 加载Properties文件的六种方式
- 补充前面Java 加载Properties文件的六种方式
- Java加载.class文件的几种方式
- Java 加载Properties文件的六种方式
- java加载properties文件的六种基本方式
- java 反射-类加载器的方式访问properties文件
- java加载properties文件的六种基本方式
- java加载资源文件的几种方式
- 简述java加载资源文件的三种方式
- 字母图形
- git 命令
- Java中子类和父类间的调用关系
- UVa:1424 Salesmen
- websphere6.1 配置sqlserver数据源
- java加载文件的方式
- KeychainItemwrapper生成设备唯一标识
- UVa 305 / POJ 1012 Joseph (如何得到约瑟夫环的下一个位置?)
- 黄河旋风第一天上班
- hdu1754(线段树)
- Linux u-boot加载过程
- ReactiveCocoa 关于在arm64真机运行的问题解决
- 基于Android 平台简易即时通讯的研究与设计
- Python通过文件头来判断文件的真实类型