java类反射读取项目内的文件
来源:互联网 发布:免费大数据平台有哪些 编辑:程序博客网 时间:2024/05/22 10:51
从网上找了很读取的方法但是没有那种简单方便易于理解的读取方式,今天本人将个人理解发表。
提示:只读取项目中的文件
为什么要读取文件:项目需要加载文件中的数据
方法一:使用TestPath.class.getResourceAsStream(path)加载数据
如下图中的main引用的方法,该方法有二种读取方式(该Class文件是有目录的):
第一种:path="./文件名称";
第二种:path="/com/zving/regularExpressionEx/test/json.txt";注意:com包前必须/
第二种方法:TestPath.class.getClassLoader().getResourceAsStream(path)
如下图中testMethod方法调用
方法一:path="a.txt" = "./a.txt" 不能是"/a.txt"
方法二:path="./com/zving/regularExpressionEx/test/json.txt"
path="com/zving/regularExpressionEx/test/json.txt"
不能是path="/com/zving/regularExpressionEx/test/json.txt"
总结:使用getClassLoader()与不使用时要看路径最前面是否有/,
如果记不清楚可以测试。
package com.zving.regularExpressionEx.test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import org.junit.Test;public class TestPath {@Testpublic void testMethod() {BufferedReader br = null;//String path = "./a.txt";String path = "./com/zving/regularExpressionEx/test/json.txt";try {br = new BufferedReader(new InputStreamReader(TestPath.class.getClassLoader().getResourceAsStream(path)));String line = br.readLine();StringBuilder sb = new StringBuilder();while (line != null) {sb.append(line);line = br.readLine();}System.out.println(sb.toString());} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {TestPath t = new TestPath();//String json = t.getJsonText("json.txt");String json = t.getJsonText("/com/zving/regularExpressionEx/test/json.txt");//这个也可以System.out.println(json);}public String getJsonText(String path) {BufferedReader br = null;try {br = new BufferedReader(new InputStreamReader(TestPath.class.getResourceAsStream(path)));String line = br.readLine();StringBuilder sb = new StringBuilder();while (line != null) {sb.append(line);line = br.readLine();}return sb.toString();} catch (IOException e) {e.printStackTrace();}return null;}}
项目包路径:
0 0
- java类反射读取项目内的文件
- Java读取项目内的资源文件
- java读取jar包内的文件
- Java 读取jar内的文件
- Java读取zip文件内的文件内容
- java 读取properties + 类反射的应用
- java web项目创建读取资源文件的Messages类
- 读取java项目下的文件
- java递归抵用读取文件夹内的所有文件
- Java 反射读取配置文件及反射类
- java项目——读取项目目录下的文件
- java反射读取一个类
- java : pdfbox 读取 PDF文件内中文
- java web项目读取文件
- java 读取项目properties文件
- java读取项目资源文件
- Java反射获取内部类的实例
- Java反射获取内部类的实例
- Cannot find the tag library descriptor for http://jakarta.apache.org/struts/tags-tiles
- 卖家必知:10个淘宝刷单技巧轻松提高店铺销量
- html——float与clear详解(深度好文)
- android Media原理学习
- leetcode note--leetcode 349 Intersection of Two Arrays
- java类反射读取项目内的文件
- SLAM学习笔记——(一)SLAM分类
- 决策树模型(Decision TreeModel)和朴素贝叶斯模型(NaiveBayesianModel,NBC)
- spring redis template操作redis与命令行操作redis数据不一致的问题
- c++调用其它程序的方法,以及读取本地txt文件方法。
- adb操作命令详解及大全
- 为什么主引导记录的内存地址是0x7C00?
- 1118. Birds in Forest (25)
- http://blog.csdn.net/mzpmzk/article/details/51488494