java 学习笔记 读取配置文件的三种方式
- package com.itheima.servlet.cfg;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.URL;
- import java.util.Properties;
- import java.util.ResourceBundle;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- public class LoaderCfgServletDemo1 extends HttpServlet {
- //第一种方式,可以加载所有目录下的内容,但只用于web项目
- //test11();
- //test12();//ppp
- //test13();
- //第二种方式 ResouceBundle专门用于读取properties文件的,
- //只用于加载类路径classes目录下的文件
- //java项目和web项目都可以用
- //test21();
- //test22();//基名 ppp
- //第三种方式 就是用ClassLoader类加载器
- //得到类加载器的方法 LoaderCfgServletDemo1.class.getClassLoader()
- //类加载器一上来定位的目录是classes
- //test31();
- //test32();
- //test33();
- //曾经的回顾
- //test34();
- public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- //test11();
- //test12();
- //test13();
- //test21();
- //test22();
- //test31();
- //test32();
- //test33();
- //test34();
- }
- //pp
- public void test34() throws IOException, FileNotFoundException {
- ClassLoader cl = LoaderCfgServletDemo1.class.getClassLoader();
- URL url = cl.getResource("cfg.properties");//协议+主机名(包含端口)+资源地址
- //System.out.println(url.getPath());
- Properties p = new Properties();
- p.load(new FileInputStream(url.getPath()));
- System.out.println(p.getProperty("p"));
- }
- //pppp
- public void test33() throws IOException, FileNotFoundException {
- ClassLoader cl = LoaderCfgServletDemo1.class.getClassLoader();
- //这是相对于classes这个目录而言,找它的上一级
- InputStream is = cl.getResourceAsStream("../cfg.properties");
- Properties p = new Properties();
- p.load(is);
- System.out.println(p.getProperty("p"));
- }
- //pp
- public void test32() throws IOException, FileNotFoundException {
- ClassLoader cl = LoaderCfgServletDemo1.class.getClassLoader();
- InputStream is = cl.getResourceAsStream("cfg.properties");//如何写路径
- Properties p = new Properties();
- p.load(is);
- System.out.println(p.getProperty("p"));
- }
- //ppp
- public void test31() throws IOException, FileNotFoundException {
- ClassLoader cl = LoaderCfgServletDemo1.class.getClassLoader();
- InputStream is = cl.getResourceAsStream("com/itheima/servlet/cfg/cfg.properties");//如何写路径
- Properties p = new Properties();
- p.load(is);
- System.out.println(p.getProperty("p"));
- }
- //ppp
- public void test22() throws IOException, FileNotFoundException {
- ResourceBundle rb = ResourceBundle.getBundle("com.itheima.servlet.cfg.cfg");//基名(包名.文件名(不带扩展名))
- System.out.println(rb.getString("p"));
- }
- //pp
- public void test21() throws IOException, FileNotFoundException {
- ResourceBundle rb = ResourceBundle.getBundle("cfg");//基名
- System.out.println(rb.getString("p"));
- }
- public void test13() throws IOException, FileNotFoundException {
- //1第一种 ,用/代表当前应用 pppp
- String path =getServletContext().getRealPath("/WEB-INF/cfg.properties");
- //System.out.println(path);
- Properties p = new Properties();
- p.load(new FileInputStream(path));
- System.out.println(p.getProperty("p"));
- }
- public void test12() throws IOException, FileNotFoundException {
- //1第一种 ,用/代表当前应用 ppp
- String path =getServletContext().getRealPath("/WEB-INF/classes/com/itheima/servlet/cfg/cfg.properties");
- //System.out.println(path);
- Properties p = new Properties();
- p.load(new FileInputStream(path));
- System.out.println(p.getProperty("p"));
- }
- private void test11() throws IOException, FileNotFoundException {
- //1第一种 ,用/代表当前应用 pp
- String path =getServletContext().getRealPath("/WEB-INF/classes/cfg.properties");
- //System.out.println(path);
- Properties p = new Properties();
- p.load(new FileInputStream(path));
- System.out.println(p.getProperty("p"));
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- this.doGet(request, response);
- }
- }
java 学习笔记 读取配置文件的三种方式的更多相关文章
- Java学习笔记——显示当前日期的三种方式
一.Date类:这是一种过时的表达方式 import java.util.Date; Date date = new Date(); System.out.println((1900+date.get ...
- Servlet读取配置文件的三种方式
一.利用ServletContext.getRealPath()[或getResourceAsStream()] 特点:读取应用中的任何文件.只能在web环境下. private void text3 ...
- Spring Boot 入门系列(二十五)读取配置文件的几种方式详解!
在项目开发中经常会用到配置文件,之前介绍过Spring Boot 资源文件属性配置的方法,但是很多朋友反馈说介绍的不够详细全面.所以, 今天完整的分享Spring Boot读取配置文件的几种方式! S ...
- Java反射获取class对象的三种方式,反射创建对象的两种方式
Java反射获取class对象的三种方式,反射创建对象的两种方式 1.获取Class对象 在 Java API 中,提供了获取 Class 类对象的三种方法: 第一种,使用 Class.forName ...
- java核心知识点学习----创建线程的第三种方式Callable和Future CompletionService
前面已经指出通过实现Runnable时,Thread类的作用就是将run()方法包装成线程执行体,那么是否可以直接把任意方法都包装成线程执行体呢?Java目前不行,但其模仿者C#中是可以的. Call ...
- java加载配置文件的三种方式
比如我们要加载db.properties文件 如图: 比如我们要加载source目录下的db.properties文件.就有以下几种方式 第一种是文件io流: public static void l ...
- 【java多线程】多线程的创建三种方式--笔记
申明:线程的概念以及进程的相关概念,可以参考网络上其他资料,这里只讨论多线程是怎么实现. 一.多线程的简单理解 明白什么是多线程,小生通俗一点的理解为:在一个程序里,我想同时让这个程序完成多个任务. ...
- Spring学习之实例化bean的三种方式
实例化bean的三种方式 构造器实例化bean Person.java public class Person { private String name; private Integer age; ...
- Java中 实现多线程成的三种方式(继承,实现,匿名内部类)
---------------------------------------------------------------------------------------------------- ...
随机推荐
- Cookie中的HttpOnly详解
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt377 1.什么是HttpOnly? 如果您在cookie中设置了HttpOn ...
- JVM和java应用服务器调优
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt413 对于调优这个事情来说,一般就是三个过程: 性能监控:问题没有发生,你并 ...
- ADO.NET调用存储过程
建表 CREATE TABLE [tab_cJ] ( [id] [, ) NOT NULL PRIMARY KEY, [name] [varchar] () , [age] [int] NULL , ...
- oracle12之 多租户容器数据库架构
解读: 这张幻灯片展示了三个被部署的应用程序的整合 三个不同的非cdbs成为一个单一的.幻灯片中的图形显示了一个多租户 容器数据库有四个容器:根和三个可插入的数据库.每一个 可插入数据库有它自己的专用 ...
- HTML canvas绘制椭圆
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 1001.A+B Format (20)代码自查(补足版)
1001.A+B Format (20)代码自查(补足版) 谢谢畅畅酱的提醒,发现了代码中的不足,把变量名更改成更合理的名字,并且把注释也换成英文啦! 栋哥提供的代码自查的方式也帮助了我发现很多代码中 ...
- 201521123026 《java程序设计》第七周学习总结
1. 本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: public ...
- 201521123027 《JAVA程序设计》第四周学习总结
1.本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. ①多态:相同方法名,不同实现: ②instanceof运算符:判断父类引用所引用的对象实例的实 ...
- 201521145048 《Java程序设计》第3周学习总结
1. 本章学习总结 学会了对于一个基本类的创建,需要有属性(private public protected),方法( 静态方法 非静态方法),构造函数,main函数,在定义属性时一般使用privat ...
- 201521123055《Java程序设计》第1周学习总结
1. 本章学习总结 (1)JAVA环境配置(JDK,JVM) (2)编写简易程序熟练代码结构 2. 书面作业 1.为什么java程序可以跨平台运行?执行java程序的步骤是什么? JAVA程序需要 ...