Properties读写资源文件
下面是文件操作的代码:
package com.liuyazhuang.properties.util;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import com.liuyazhuang.utl.StringUtils;
public class PropertiesUtil {
// 读取资源文件,并处理中文乱码
public static String readPropertiesFile(String filename,String key) {
if(StringUtils.isEmpty(filename.trim())||StringUtils.isEmpty(key.trim())) return null;
Properties properties = new Properties();
try {
InputStream inputStream = new FileInputStream(filename);
properties.load(inputStream);
inputStream.close(); // 关闭流
} catch (IOException e) {
e.printStackTrace();
}
String value = properties.getProperty(key);
try {
value = new String(value.getBytes("ISO-8859-1"), "UTF-8"); // 处理中文乱码
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return value;
}
// 读取XML文件,并处理中文乱码
public static String readPropertiesFileFromXML(String filename,String key) {
if(StringUtils.isEmpty(filename.trim())||StringUtils.isEmpty(key.trim())) return null;
Properties properties = new Properties();
try {
InputStream inputStream = new FileInputStream(filename);
properties.loadFromXML(inputStream);
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
return properties.getProperty(key);
}
// 写资源文件,含中文
public static void writePropertiesFile(String filename,String key,String value) {
if(StringUtils.isEmpty(filename.trim())||StringUtils.isEmpty(key.trim())||StringUtils.isEmpty(value.trim())) return;
Properties properties = new Properties();
try {
OutputStream outputStream = new FileOutputStream(filename);
properties.setProperty(key, value);
properties.store(outputStream, null);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
// 写资源文件到XML文件,含中文
public static void writePropertiesFileToXML(String filename,String key,String value) {
if(StringUtils.isEmpty(filename.trim())||StringUtils.isEmpty(key.trim())||StringUtils.isEmpty(value.trim())) return;
Properties properties = new Properties();
try {
OutputStream outputStream = new FileOutputStream(filename);
properties.setProperty(key, value);
properties.storeToXML(outputStream, null);
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
//main方法测试
public static void main(String[] args) {
writePropertiesFile("d:/test.properties", "hello", "world");
System.out.println(readPropertiesFile("d:/test.properties", "hello"));
}
}
Properties读写资源文件的更多相关文章
- Java读写资源文件类Properties
Java中读写资源文件最重要的类是Properties 1) 资源文件要求如下: 1.properties文件是一个文本文件 2.properties文件的语法有两种,一种是注释,一种属性配置. 注 ...
- JAVA加载Properties配置资源文件
JAVA加载Properties配置资源文件 制作人:全心全意 配置文件(资源文件):以properties作为拓展名的文件 Java代码是如何加载properties文件的? 必须使用Propert ...
- Properties读取资源文件的四种方法
package com.action; import java.io.InputStream; import java.util.Locale; import java.util.Properties ...
- 使用Properties读写属性文件
import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Properties; /*Prop ...
- redis-config.properties属性资源文件
redis.host=192.168.200.128redis.port=6379redis.pass=redis.database=0redis.maxIdle=300redis.maxWait=3 ...
- 读取web应用下的资源文件(例如properties)
package gz.itcast.b_resource; import java.io.IOException; import java.io.InputStream; import java.ut ...
- JavaWeb基础: 获取资源文件
Web工程在编译构建完毕以后,需要部署到Tomcat上运行,资源的硬盘路径也会随着改变.要想对资源文件进行读写操作需要获取其硬盘地址,在Web工程中通常通过ServletContext/ClassLo ...
- .NET MVC4 实训记录之五(访问自定义资源文件)
.Net平台下工作好几年了,资源文件么,大多数使用的是.resx文件.它是个好东西,很容易上手,工作效率高,性能稳定.使用.resx文件,会在编译期动态生成已文件名命名的静态类,因此它的访问速度当然是 ...
- 【Java EE 学习 35 上】【strus2】【类型转换器】【struts2和Servlet API解耦】【国际化问题】【资源文件乱码问题已经解决】
一.类型转换器 1.在动作类action中,声明和表单中name属性的值同名的属性,提供get和set方法,struts2就可以通过反射机制,从页面中获取对应的内容 package com.kdyzm ...
随机推荐
- 单调旋转数组的TopK问题
问题描述:输入一个单调旋转后的数组,求该数组中的第k小的元素. 分析:很多人看到这个题目会有点懵,可能读者不知道什么是旋转数组,我先解释下两个概念, 旋转数组的定义:把一个数组的前几项元素移动到数组的 ...
- HTML构成及基本标签
超文本标记语言:HTML W3C:互联网联盟 注释语法:<!--注释掉的内容--> 标签格式: 双标签元素:<标签名 属性 style="样式">内容< ...
- Oracle 物理DG切换
在进行DATA GUARD的物理STANDBY切换前需要注意:确认主库和从库间网络连接通畅:确认没有活动的会话连接在数据库中:PRIMARY数据库处于打开的状态,STANDBY数据库处于MOUNT状态 ...
- [string]Roman to Integer,Integer to Roman
一.Roman to Integer Given a roman numeral, convert it to an integer. Input is guaranteed to be within ...
- 泛型编程中的Concept, Model和Policy
A crude explanation Concept A set of requirements on a type, e.g. a RandomAccessible concept require ...
- sffs
因为微软收购了Skype,就减少了对linux版软件的支持,官方下载页面已找不到了.只有这一个地址了.要下的尽早.http://download.skype.com/linux/skype-ubunt ...
- CSS 3 属性学习大纲
1. Gradient 渐变 2. RGBA 颜色透明 3. Border-radius 圆角 4. text-shadow 文字阴影 5. box-shadow 图层阴影 6. Transform ...
- C语言程序设计(翁恺)--第二周课件中的两个遗留点
看完课件,发现其中有几个点是老师上课没点破的,或者是留到讨论区的,自己想了想答案,总结一下这些问题 第二周:计算 1.关于const的描述中提到:“如果试图对常量做修改,把它放在赋值运算符的左边,就会 ...
- 学习使用Free RTOS ,移植最新的STM32 v3.5固件库
最近拿到了一块万利的EK-STM32F的学习板,打算先用它来熟悉下STM32的编程环境,不过在这过程中和一个同事聊的时候觉得如果只调用STM32的库写程序,可能在芯片资源的利用上面可能就会差一点,在这 ...
- KDE子项目一览 good
https://www.kde.org/applications/development/ https://www.kde.org/applications/graphics/ https://www ...