在java项目中通过相对路径获取资源的方式
2016-01-19 09:05
471 查看
1.可以通过 类名.class.getResource方法获取或者getSystemResource
2.可以通过当前线程 Thread.currentThread().getContextClassLoader().getResource获取
public class TestDemo {
}
}
2.可以通过当前线程 Thread.currentThread().getContextClassLoader().getResource获取
public class TestDemo {
public static void main(String[] args) throws FileNotFoundException, IOException { Properties pro=new Properties(); TestDemo test=new TestDemo(); pro.setProperty("url", "localhost:8080"); pro.setProperty("username", "root"); pro.setProperty("password", "123"); String filepath="G:/util/"; //pro.store(new FileOutputStream(new File("db.properties")), "资 源配置"); File file =new File(filepath); if(!file.exists()){ file.mkdir(); } File realpath=new File(file,"db.properties"); if(!realpath.exists()){ realpath.createNewFile(); } //写入properties文件 pro.store(new FileOutputStream(realpath), "properties配置"); File xmlpath=new File(file,"db.xml"); if(!xmlpath.exists()){ xmlpath.createNewFile(); } //写入xml文件中 pro.storeToXML(new FileOutputStream(xmlpath), "xml配置"); //加载配置文件 Properties pro1=new Properties(); // pro1.load(TestDemo.class.getClassLoader().getResourceAsStream("test/db.properties")); //获取文件的相对路径 //1.可以通过 类名。class.getResource方法获取或者getSystemResource //2.可以通过当前线程 Thread.currentThread().getContextClassLoader()。getResource获取 pro1.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("test/db.properties")); System.out.println(TestDemo.class.getResource("/test/db.properties")); System.out.println(Thread.currentThread().getContextClassLoader().getResource("test/db.properties")); //System.out.println(Thread.currentThread().getContextClassLoader().getSystemResource("test/db.properties")); System.out.println(test.getClass().getClassLoader().getResourceAsStream("test/db.properties")); System.out.println(TestDemo.class.getResource("/"));//斜杠代表从根路径 开始 System.out.println(TestDemo.class.getResource(""));//空格代表当前类的相对路径开始 System.out.println(Thread.currentThread().getContextClassLoader().getResource(""));//空格代表从根路径开始 String str= pro1.getProperty("password", "没找到"); System.out.println(str);
}
}
相关文章推荐
- java遍历读取xml文件内容
- JavaScrip——简单练习(抓错误信息,for循环,日期)
- 原因为 1) 无法找到文档; 2) 无法读取文档; 3) 文档的根元素不是 <xsd:schema>
- 应用 EditPlus 配置 Java 编译环境
- Eclipse选中变量名,相同变量都变色显示 的设置
- eclipse adt jni
- Java 多态特点
- Java多线程循环打印ABC 10次,可能是东半球最美解决方案了
- Java排序 Collections排序
- 循序渐进看Java web日志跟踪(3)-Log4J的使用和配置
- 学习java的道路
- Think in java浏览一
- JAVA小项目(2)——制作控件
- 如何调优JVM - 优化Java虚拟机(大全+实例)
- Java 多态
- 【android学习4】Eclipse中Clean作用
- JVM1小时1次FGC调优
- 通过委派模式包装一个RxJavaCallAdapterFactory
- 第二章 IoC 之 2.2 IoC容器基本原理
- rpm方式安装java