小技巧之保存Properties文件的中文显示

小技巧
placeholder image
admin 发布于:2016-06-04 00:09:19
阅读:loading

背景介绍

最近在用swing做一个小程序,为了图省事儿直接采用Properties文件的方式配置了一些参数,部分参数是用户通过界面直接可更改的,更改完之后再覆盖这个文件中的相关参数,此为背景。

一直知道Properties类中有个storeToXML的函数是将键值对的熟悉转换为xml文件,今天看了下store的函数,试了下是将属性写入一个文件中,我这里当然还是写到properties文件中去。properties类型的文件应该都很属性,作为Java默认的配置文件类型,任何一个项目中也应该有很多很多地方用到了此类型的文件,不废话了,主要想说一下store函数的两种方式,看函数的参数类型,一个类型传入FileWriter类型,另一个传入OutputStream类型,用的少,就先使用FileWriter类型做了更改,发现会将数据写入配置文件中,也包括中文参数,我们将写入的文件用记事本打开查看发现文件中也确实显示是中文,而实际上properties中的中文应该是转换成assic了,程序里面再用properties读取该文件发现使用FileWriter写入的方式就读取成乱码了而使用OutputStream的方式则读取正常。

代码实现

package cn.chendd.test;

 

import java.io.File;

import java.io.FileOutputStream;

import java.io.FileWriter;

import java.io.IOException;

import java.util.Properties;

 

public class PropertiesTest {

 

   public static void main(String[] args) throws IOException {

 

      Properties props = new Properties();

      props.setProperty("hello1""world");

      props.setProperty("hello2""世界");

      //第一种方式回写属性文件

      props.store(new FileWriter(new File("d:\\tt\\test1.properties")), null);

      //第二种方式回写文件

      props.store(new FileOutputStream(new File("d:\\tt\\test2.properties")), null);

   }

 

}

运行结果

运行结果.png


 点赞


 发表评论

当前回复:作者

 评论列表


留言区