getClass()
getResourceAsStream("/String path")
包装类变量.getClass()
使用该方法返回该类型
Integer i = 100;
System.out.println(i.getClass());
该方法不能用于基本数据类型,如:int,float等
Class.getResourceAsStream("/String path")
Path:不以’/'开头时默认是从此类所在的包下取资源
以’/'开头则是从ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
该方法用于返回Class该类中的某个文件的路径,进而获取该文件的资源。使用该方法,即使该文件资源的路径改变也不需要每次都去修改代码。
该方式可以与上面的getClass搭配使用:包装类变量.getClass().Class.getResourceAsStream("/文件资源名")。返回值类型是一个InputStream对象。
从类中读取一个文本文件
文件结构如下:
test test = new test();
InputStream r = test.getClass().getResourceAsStream("/q.txt");
byte[] b = new byte[1024];
int len = 0;
try {
len = r.read(b);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(new String(b,0,len));
运行结果:
该方式常用于读取数据库配置文件的数据文件。