getResourceAsStream与直接new出一个InputStream的子类
给一个路径,看到有时会用getClass().getClassLoader().getResourceAsStream()来得到一个InputStream对象
请跟直接new一个出来有什么不一样,比如说都给一个绝对名字:fileName = D:\test\fuck.txt,那么:
InputStream in = getClass().getClassLoader().getResourceAsStream(fileName);
和
InputStream in = new FileInputStream(fileName);
有啥不同?
请跟直接new一个出来有什么不一样,比如说都给一个绝对名字:fileName = D:\test\fuck.txt,那么:
InputStream in = getClass().getClassLoader().getResourceAsStream(fileName);
和
InputStream in = new FileInputStream(fileName);
有啥不同?
作者: dreamhunter_lan 发布时间: 2011-06-12
一个是基于文件系统的 InputStream
一个是基于类加器的 InputStream
完全不一样。
一个是基于类加器的 InputStream
完全不一样。
作者: bao110908 发布时间: 2011-06-12
引用 1 楼 bao110908 的回复:
一个是基于文件系统的 InputStream
一个是基于类加器的 InputStream
完全不一样。
一个是基于文件系统的 InputStream
一个是基于类加器的 InputStream
完全不一样。
+1
表现为寻址方式不一样
假如当前类T1的应用中的包路径是 t1.T1,同时在类T1下面还有一个123.txt的文件
文件系统中以类似[C:\\project\\project1\\t1\\123.txt]的路径方式访问。
类加载器可以用
getClass().getClassLoader().getResourceAsStream("t1/123.txt");
作者: trocp 发布时间: 2011-06-12