IBM的JDK中java.util.Properties这个类跟sun的功能不一样?

若鱼1919 2010-05-05 05:46:47
从properties配置文件中读数据,在windows下用的sun的jdk,没有乱码。但是,放到linux下用IBM的jdk跑中文全是乱码。
说明一下:bond.properties已经用native2ascii转码过了。

import java.io.*;
import java.util.*;
public class PropsTest{
public static Properties props=new Properties();
static{
InputStream in=null;
try{
in=PropsTest.class.getResourceAsStream("bond.properties");
props.load(in);
}catch(Exception e){e.printStackTrace();}
if((in!=null)){
try{
in.close();
}catch(Exception e){}
}
//native2ascii -encoding gb2312 bond_ZH_CN.properties bond.properties//转换编码格式
}
public static void main(String args[]){
Set keySet = props.keySet();
for(Iterator it=keySet.iterator();it.hasNext();){
String key=(String)it.next();
String value=props.getProperty(key);
System.out.println(key+":"+value);
}
}
}

我怀疑:
(1)是IBM的jdk的问题?
(2)跟配置文件的编码方式有关?
linux的System.getProperty("file.encoding")输出GB18030,而我的配置文件的编码方式是windows默认的。
...全文
154 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
leelpp 2010-05-06
  • 打赏
  • 举报
回复
刚才用ultraeditor把原始文件另存成utf-8无bom,然后转码,这次中文打印的是:一连串的未经过解析的unicode。本想看看源代码,太复杂,水平有限,看不懂。修改转码以后的配置文件,在开头加上一行#号之后,再次运行程序报错。
若鱼1919 2010-05-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 huntor 的回复:]
我原始的文件使用UTF-8,native2ascii转为ASCII。在IBM/SUN/JRockit 下都正常
[/Quote]
刚才用ultraeditor把原始文件另存成utf-8无bom,然后转码,这次中文打印的是:一连串的未经过解析的unicode。本想看看源代码,太复杂,水平有限,看不懂。修改转码以后的配置文件,在开头加上一行#号之后,再次运行程序报错。
crazylaa 2010-05-05
  • 打赏
  • 举报
回复
IBM的JDK和SUN的JDK实现方式不一样的地方多着呢。
如果你用sun的开发,最好最后部署还是用sun的,否则会不知道从哪里冒出问题来。
huntor 2010-05-05
  • 打赏
  • 举报
回复
我原始的文件使用UTF-8,native2ascii转为ASCII。在IBM/SUN/JRockit 下都正常
zfq642773391 2010-05-05
  • 打赏
  • 举报
回复
会不会是因为和linux的编码方式有关啊?
curacfyh 2010-05-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 goldenfish1919 的回复:]

SUN和IBM对Properties这个类的实现果然不一样!
刚才试了以后发现,IBM的JDK使用转码以前的配置文件就不会发生乱码。
而SUN的JDK使用转码以前的会出现乱码。
它奶奶的,这叫什么事啊!
[/Quote]
楼主要淡定,不能指望所有公司都是一种实现吧,那样就好了。
zyus1987 2010-05-05
  • 打赏
  • 举报
回复
不知道啊~!没研究过~!帮忙顶贴
yueguangkai001 2010-05-05
  • 打赏
  • 举报
回复
实现方法不一样说明别人的想法不一样,管他呢
只要写出的程序没有乱码就行了
我认为还是用sun的用的人多
若鱼1919 2010-05-05
  • 打赏
  • 举报
回复
SUN和IBM对Properties这个类的实现果然不一样!
刚才试了以后发现,IBM的JDK使用转码以前的配置文件就不会发生乱码。
而SUN的JDK使用转码以前的会出现乱码。
它奶奶的,这叫什么事啊!
curacfyh 2010-05-05
  • 打赏
  • 举报
回复
没用过,换成GB18030试试
内容概要:本文围绕“考虑多型资源的数据心园区供电协调规划”展开研究,重点探讨了源-荷-储多元协同下的供电规划与运行一体化优化问题。研究融合可再生能源、算力负载及时空调度等因素,提出基于多元宇宙优化算法的求解方法,实现对数据心园区容量配置与日调度的协同优化。通过构建多场景概率模型与柔性变电站型园区架构,兼顾供电可靠性与算力柔性,提升系统运行效率与能源利用率。该资源配套完整的Matlab代码实现,涵盖多元宇宙算法求解、场景生成与削减、优化调度建模等关键环节,适用于科研复现与工程仿真。; 适合人群:具备一定电力系统、优化算法基础,从事新能源、数据心能源管理、智能调度等相关领域研究的研发人员及高校研究生。; 使用场景及目标:①应用于数据心园区含高比例可再生能源的供电系统规划;②支撑科研工作对多元宇宙优化算法、场景概率建模、源网荷储协同调度等技术的复现与改进;③服务于微电网、综合能源系统等领域的优化调度算法开发与仿真验证。; 阅读建议:建议结合文提供的Matlab代码与完整资源包进行同步实践,重点关注多元宇宙优化算法的实现流程与调度模型的数学建模细节,宜在掌握基本优化理论基础上开展学习与拓展。

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧