java中读取配置文件中的数据(javaweb读取配置文件)

本文目录一览:

Java读取文件的几种方法

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的classes目录中,也可以在应用层级及web-info的目录中。文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在web-info及webroot下面等。因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xml和properties。缺点:不能在servlet外面应用读取配置信息。

方式二:采用ResourceBundle类读取配置信息,

优点是:可以以完全限定类名的方式加载资源后,直接的读取出来,且可以在非Web应用中读取资源文件。缺点:只能加载类classes下面的资源文件且只能读取.properties文件。

方式三:采用ClassLoader方式进行读取配置信息

优点是:可以在非Web应用中读取配置资源信息,可以读取任意的资源文件信息

缺点:只能加载类classes下面的资源文件。

方法4 getResouceAsStream

XmlParserHandler.class.getResourceAsStream 与classloader不同

java 中配置文件路径读取使用FileReader和InputStream区别和用法?

一、按数据来源(去向)分类:

1、是文件: FileInputStream, FileOutputStream, FileReader, FileWriter

2、是byte[]:ByteArrayInputStream, ByteArrayOutputStream

3、是Char[]: CharArrayReader, CharArrayWriter

4、是String: StringBufferInputStream, StringReader, StringWriter

5、网络数据流:InputStream, OutputStream, Reader, Writer

二、按是否格式化输出分:

1、要格式化输出:PrintStream, PrintWriter

三、按是否要缓冲分:

1、要缓冲:BufferedInputStream, BufferedOutputStream, BufferedReader, BufferedWriter

四、按数据格式分:

1、二进制格式(只要不能确定是纯文本的): InputStream, OutputStream及其所有带Stream结束的子类

2、纯文本格式(含纯英文与汉字或其他编码方式);Reader, Writer及其所有带Reader, Writer的子类

五、按输入输出分:

1、输入:Reader, InputStream类型的子类

2、输出:Writer, OutputStream类型的子类

六、特殊需要:

1、从Stream到Reader,Writer的转换类:InputStreamReader, OutputStreamWriter

2、对象输入输出:ObjectInputStream, ObjectOutputStream

3、进程间通信:PipeInputStream, PipeOutputStream, PipeReader, PipeWriter

4、合并输入:SequenceInputStream

5、更特殊的需要:PushbackInputStream, PushbackReader, LineNumberInputStream, LineNumberReader

决定使用哪个类以及它的构造进程的一般准则如下(不考虑特殊需要):

首先,考虑最原始的数据格式是什么: 原则四

第二,是输入还是输出:原则五

第三,是否需要转换流:原则六第1点

第四,数据来源(去向)是什么:原则一

第五,是否要缓冲:原则三 (特别注明:一定要注意的是readLine()是否有定义,有什么比read, write更特殊的输入或输出方法)

第六,是否要格式化输出:原则二

Java中Inputstream与Reader的区别

Reader支持16位的Unicode字符输出,InputStream支持8位的字符输出。

Reader和InputStream分别是I/O库提供的两套平行独立的等级机构,

InputStream、OutputStream是用来处理8位元的流,

Reader、Writer是用来处理16位元的流。

而在JAVA语言中,byte类型是8位的,char类型是16位的,所以在处理中文的时候需要用Reader和Writer。

值得说明的是,在这两种等级机构下,还有一道桥梁InputStreamReader、OutputStreamWriter负责进行InputStream到Reader的适配和由OutputStream到Writer的适配。

java.io.Reader 和 java.io.InputStream 组成了 Java输入类。Reader 用于读入16位字符,也就是 Unicode编码的字符;而 InputStream 用于读入 ASCII字符和二进制数据。

在 Java中,有不同类型的 Reader 输入流对应于不同的数据源:

FileReader 用于从文件输入;

CharArrayReader 用于从程序中的字符数组输入;

StringReader 用于从程序中的字符串输入;

PipedReader 用于读取从另一个线程中的 PipedWriter 写入管道的数据。

相应的也有不同类型的 InputStream 输入流对应于不同的数据源:FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。另外,还有两种没有对应 Reader 类型的 InputStream 输入流:

Socket 用于套接字;

URLConnection 用于 URL 连接。

这两个类使用 getInputStream() 来读取数据。

相应的,java.io.Writer 和 java.io.OutputStream 也有类似的区别。

java怎样提取配置文件!怎么才能采用ServletContext读取

创建配置文件:

1、在项目的任意地方,右键-》New-》File-》FileName-》输入-》名称.properties(比如:config.properties)

2、访问路径:从根目录开始出发(WebRoot)-WEB-INF-classes-config.properties,(如果有包名,在classes-包名-config.properties)(路径可以直接从本地中项目的路径,找到WEB-INF直接从地址中copy(比如我的本地磁盘保存是这样的:F:\课程\s2课程\s2书上内容\Java Web\ServletTest\WebRoot\WEB-INF\classes\config.properties))

response.setContentType(“text/html”);

response.setCharacterEncoding(“utf-8”);

request.setCharacterEncoding(“utf-8”);

PrintWriter out = response.getWriter();

/************************使用servletContext.getResourceAsStream**************************************/

//实例化ServletContext

ServletContext servletContext=this.getServletContext();

// //获取输入流

// InputStream in=servletContext.getResourceAsStream(“\\WEB-INF\\classes\\config.properties”);

// Properties p=new Properties();

// //类的装载

// p.load(in);

// //拿到配置文件中userName参数

// out.println(p.getProperty(“userName”));

/***************************普通的获取配置文件**************************************/

String path= servletContext.getRealPath((“\\WEB-INF\\classes\\config.properties”));//拿到绝对路径

FileInputStream in=new FileInputStream(path);

Properties p=new Properties();

p.load(in);

out.println(p.get(“userName”));

JAVA怎么从配置文件中读取数据

Java有个集合,叫Properties,去查下用法,挺好用的。可以将一个配置文件比如txt中的键值对读入到集合中。

Java中spring读取配置文件的几种方法

Java中spring读取配置文件的几种方法如下:

一、读取xml配置文件

(一)新建一个java bean

package chb.demo.vo;

public class HelloBean {

private String helloWorld;

public String getHelloWorld() {

return helloWorld;

}

public void setHelloWorld(String helloWorld) {

this.helloWorld = helloWorld;

}

}

(二)构造一个配置文件

?xml version=”1.0″ encoding=”UTF-8″?

!DOCTYPE beans PUBLIC “-//SPRING//DTD BEAN//EN” “”

beans

bean id=”helloBean” class=”chb.demo.vo.HelloBean”

property name=”helloWorld”

valueHello!chb!/value

/property

/bean

/beans

(三)读取xml文件

1.利用ClassPathXmlApplicationContext

ApplicationContext context = new ClassPathXmlApplicationContext(“beanConfig.xml”);

//这种用法不够灵活,不建议使用。

HelloBean helloBean = (HelloBean)context.getBean(“helloBean”);

System.out.println(helloBean.getHelloWorld());

2.利用FileSystemResource读取

Resource rs = new FileSystemResource(“D:/software/tomcat/webapps/springWebDemo/WEB-INF/classes/beanConfig.xml”);

BeanFactory factory = new XmlBeanFactory(rs);

HelloBean helloBean = (HelloBean)factory.getBean(“helloBean”);

System.out.println(helloBean.getHelloWorld());

值得注意的是:利用FileSystemResource,则配置文件必须放在project直接目录下,或者写明绝对路径,否则就会抛出找不到文件的异常。

二、读取properties配置文件

这里介绍两种技术:利用spring读取properties 文件和利用java.util.Properties读取

(一)利用spring读取properties 文件

我们还利用上面的HelloBean.java文件,构造如下beanConfig.properties文件:

helloBean.class=chb.demo.vo.HelloBean

helloBean.helloWorld=Hello!chb!

属性文件中的”helloBean”名称即是Bean的别名设定,.class用于指定类来源。

然后利用org.springframework.beans.factory.support.PropertiesBeanDefinitionReader来读取属性文件

BeanDefinitionRegistry reg = new DefaultListableBeanFactory();

PropertiesBeanDefinitionReader reader = new PropertiesBeanDefinitionReader(reg);

reader.loadBeanDefinitions(new ClassPathResource(“beanConfig.properties”));

BeanFactory factory = (BeanFactory)reg;

HelloBean helloBean = (HelloBean)factory.getBean(“helloBean”);

System.out.println(helloBean.getHelloWorld());

(二)利用java.util.Properties读取属性文件

比如,我们构造一个ipConfig.properties来保存服务器ip地址和端口,如:

ip=192.168.0.1

port=8080

则,我们可以用如下程序来获得服务器配置信息:

InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(“ipConfig.properties”);

Properties p = new Properties();

try {

p.load(inputStream);

} catch (IOException e1) {

e1.printStackTrace();

}

System.out.println(“ip:”+p.getProperty(“ip”)+”,port:”+p.getProperty(“port”));

三 、用接口类WebApplicationContext来取。

private WebApplicationContext wac;

wac =WebApplicationContextUtils.getRequiredWebApplicationContext(

this.getServletContext());

wac = WebApplicationContextUtils.getWebApplicationContext(

this.getServletContext());

JdbcTemplate jdbcTemplate = (JdbcTemplate)ctx.getBean(“jdbcTemplate”);

其中,jdbcTemplate为spring配置文件中的一个bean的id值。

这种用法比较灵活,spring配置文件在web中配置启动后,该类会自动去找对应的bean,而不用再去指定配置文件的具体位置。

如何读取配置文件里的配置信息

以JAVA为例:

读取配置文件中数据的具体方法:

1、先在项目中创建一个包(如:config),再创建一个配置文件(如:a.properties),添加配置信息如下:

比如:

name=kaka

age=28

代码如下:

import java.io.IOException; 

import java.io.InputStream; 

import java.util.Properties; 

public class PropertyTest {

 public static void main(String[] args) { 

  PropertyTest loadProp = new PropertyTest(); 

  InputStream in = loadProp.getClass().getResourceAsStream(“/config/a.properties”); 

  Properties prop = new Properties(); 

  try {

   prop.load(in); 

  } catch (IOException e) { 

   e.printStackTrace(); 

  } 

  System.out.println(prop.getProperty(“name”)); 

  System.out.println(prop.getProperty(“age”));

 } 

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/280760.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-21 13:04
下一篇 2024-12-21 13:04

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Python读取CSV数据画散点图

    本文将从以下方面详细阐述Python读取CSV文件并画出散点图的方法: 一、CSV文件介绍 CSV(Comma-Separated Values)即逗号分隔值,是一种存储表格数据的…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Python中读入csv文件数据的方法用法介绍

    csv是一种常见的数据格式,通常用于存储小型数据集。Python作为一种广泛流行的编程语言,内置了许多操作csv文件的库。本文将从多个方面详细介绍Python读入csv文件的方法。…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • 如何用Python统计列表中各数据的方差和标准差

    本文将从多个方面阐述如何使用Python统计列表中各数据的方差和标准差, 并给出详细的代码示例。 一、什么是方差和标准差 方差是衡量数据变异程度的统计指标,它是每个数据值和该数据值…

    编程 2025-04-29

发表回复

登录后才能评论