java getResourceAsStream

需求:获取项目里面的配置文件,如xml,properties

java开发:

当前类所在包:/AihData/src/com/aih/parse/javax/test/Test.java

配置文件所在位置:/AihData/src/com/aih/parse/javax/data_10k.xml

第一种:

String fileName="../data_10k.xml";
    InputStream inputStream =Test.class.getResourceAsStream(fileName);

或者

String fileName="/com/aih/parse/javax/data_10k.xml";
    InputStream inputStream =Test.class.getResourceAsStream(fileName);

第二种:

String fileName="com/aih/parse/javax/data_10k.xml";
    InputStream inputStream =Test.class.getClassLoader().getResourceAsStream(fileName);

分析:

第一种分析:Class.getResourceAsStream(String path) : path 不以’/‘开头时默认是从此类所在的包下取资源,以’/‘开头则是从
ClassPath根下获取。其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。

第一:前面有 “   / ”

“ / ”代表了工程的根目录,例如工程名叫做myproject,“ / ”代表了myproject

第二:前面没有 “   / ”代表当前类的目录

第二种分析:Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,path不能以’/‘开头,最终是由
ClassLoader获取资源。

时间: 2024-10-08 12:50:10

java getResourceAsStream的相关文章

(转)java getResourceAsStream的使用方法

背景:对于java项目中配置文件加载时候的绝对路径和相对路径做一个清晰的认识! 1 分析路径 在Java项目中会经常用到getResourceAsStream这个函数获取一些配置文件,但是怎样正确使用这个函数呢? 1.1 熟悉根目录结构 getResourceAsStream(String path)这个函数的参数是一个路径,但是这个路径应该怎么填?使用该函数的难点也就在此. 其实只要记住一个关键点,getResourceAsStream这个函数寻找文件的起点是JAVA项目编译之后的根目录,比如

Java getResourceAsStream() 方法会缓存文件的问题

xxx.getClass().getClassLoader().getResourceAsStream("d:/test-config.properties") 这方法确实会缓存文件, 在WebApp里面,在不重启tomcat的情况下,修改本地文件,程序跑的时候不会加载最新的本地文件. 如果需要动态修改比如配置文件而不重启server,需要替换方法: xxx.getClass().getClassLoader().getResource("d:/test-config.pro

Java getResourceAsStream返回为空的问题

使用 getResourceAsStream("helloworld.propterties") 读取文件的stream,返回一直为空,试这把.properties文件放在 很多路径都无济于事. 最终解决方案:该方法是从package 中寻找路径. 比如你的包是 com.xx.yy.test.xml.那么传入的时候,应该是getResourceAsStream("/com/xx/yy/test.xml"),加入你不加前面的/,那么它是按照调用类的路径作为当前路径的,

Java中getResourceAsStream的用法

首先,Java中的getResourceAsStream有以下几种: 1. Class.getResourceAsStream(String path) : path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从 ClassPath根下获取.其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源. 2. Class.getClassLoader.getResourceAsStream(String path) :默认则是从ClassPath根下获取,pa

java中的getResourceAsStream用途

其实这个东西我也不明白,在项目中遇到了,我隐隐的感觉这是在读取一个文件信息,后来查阅了网友的相关博客,大概的总结一些这个玩意是干啥的. 首先,我们要知道在java中都有哪些个getResourceAsStream,以及参数的含义 主要的作用都是读取指定的文件,并返回一个输入流对象 1.这是我在项目中见到的方式 Server.class.getResourceAsStream("jdbc.properties") //读取指定文件,返回一个输入流InputStream对象 参数说明:这里

JAVA 笔记 ClassLoader.getResourceAsStream() 与 Class.getResourceAsStream()的区别

   Class.getResourceAsStream() 会指定要加载的资源路径与当前类所在包的路径一致. 例如你写了一个MyTest类在包com.test.mycode 下,那么MyTest.class.getResourceAsStream("name") 会在com.test.mycode包下查找相应的资源. 如果这个name是以 '/' 开头的,那么就会从classpath的根路径下开始查找. ClassLoader.getResourceAsStream()  无论要查找

Java学习篇之---getResource()和getResourceAsStream()

getResource()和getResourceAsStream() 编译后的Java类文件可以打包成一个jar文件随处运行.但是当我们需要使用一些资源如:一幅图像,一段音频时,就需要在jar包外带有一个资源文件夹,必须保证jar包和资源文件夹一起发布否则程序就不能正常运行.我们希望的是只发布一个jar包,把资源均包含在内.为此我们需要读取资源文件: 利用Java提供的两个函数URL Class.getResource()和InputStream Class.getResourceAsStre

java路径问题(一)——getClass().getResourceAsStream()

转自--->http://ouyangfei0426.iteye.com/blog/1020232src(源文件夹)┃┣━11.properties┃┗━myspider(myspider包)         ┃         ┣━22.properties         ┗━Test.java import java.io.UnsupportedEncodingException; /** * * @author mark */ public class Test { public sta

java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)

https://blog.csdn.net/my__sun_/article/details/74450241 读取文件的写法,相对路径 在当前的目录结构中读取test.txt的有四种写法 简单粗暴的 File file = new File("src/test.txt") 使用类的相对路径 使用当前线程的类加载器 读取web工程下的文件 使用getRealPath()读取 File file = new File("src/test.txt"); File fil