Java属性文件的一个缺憾(Java缺点之二:属性文件)
2006-06-12 09:12
211 查看
用Java读取Properties文件内容是我们通常使用 new FileInputStream(filePathName).load(props),这之后就直接对props作getProperty就可以取出属性,保存时props.store(out, header)就可以,很简单。但不能不提出的是,这样的操作,
1. 如果值是汉字,getProperty后必须在外面转码,否则是一串的?;
2. 根本不支持中文key
3. 如果将存在中文(不管是value还是value)的properties保存进去,都变成了字节码!
ResourceBundle表面上提供了Locale的操作,但感觉作用仅仅是通过locale找文件名,本身并没有作字符串的转码(不过也有一个不太令人注意的好处:我发现里面loadBundle方法提供我们访问jar文件的代码:) ),其它操作与Properties没有任何不同。
但昨天本人发现FileInputStream的read、write操作本身是支持中英文,这样一来,就不明白它为何在上述两个类操作时给留下这么大的缺憾了!
为此,我们在读写文件是,自己从stream中取出"="两边的东西在封装成properties为好,写入时将name和value以"="连接一下就好,这个操作也非常简单。操作代码咱放在家里,以后开帖再Paste近来。
1. 如果值是汉字,getProperty后必须在外面转码,否则是一串的?;
2. 根本不支持中文key
3. 如果将存在中文(不管是value还是value)的properties保存进去,都变成了字节码!
ResourceBundle表面上提供了Locale的操作,但感觉作用仅仅是通过locale找文件名,本身并没有作字符串的转码(不过也有一个不太令人注意的好处:我发现里面loadBundle方法提供我们访问jar文件的代码:) ),其它操作与Properties没有任何不同。
但昨天本人发现FileInputStream的read、write操作本身是支持中英文,这样一来,就不明白它为何在上述两个类操作时给留下这么大的缺憾了!
为此,我们在读写文件是,自己从stream中取出"="两边的东西在封装成properties为好,写入时将name和value以"="连接一下就好,这个操作也非常简单。操作代码咱放在家里,以后开帖再Paste近来。
相关文章推荐
- 生成一个java编制的可执行文件
- java遍历一个文件夹中的所有文件
- java读取属性文件properties文件
- 在Java中使用多线程结合断点续传实现一个简单的文件下载器
- java中对list集合中的数据按照某一个属性进行分组
- java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容
- 教你写一个可以运行java的bat文件
- paip.操作符重载的缺失 Java 的一个大缺点
- File文件基本操作之三: java 读取properties文件属性
- Java实现压缩一个目录下所有图片文件
- java文件(编译单元)为什么只能有一个public类
- 分享一个java对xml,excel,jdbc.properties,读写文件,读写图片等实现(2)
- JAVA读取一个文件夹下所有某类型文件
- java实现以树结构打印一个文件目录结构
- java操作属性文件工具类
- java spring中对properties属性文件加密及其解密
- java 封装 (用一个类去定义另一个类的属性)
- java实现对属性文件的增删改查以及ResourceBundle使用详解
- java读取文件封装的一个类(有部分代码借鉴别人的)
- java 按行把一个txt文件平均拆分成N个txt文件