JAVA Properties.put()和load()方法的顺序以及乱码问题

图片说明

请问我写入的字符串到这里怎么成这种了,怎么调回字符串,还有这个是十六进制吧,我一个汉字用4个十六进制数表示的?不科学啊

顺便问一句为什么我put(内容1) put(内容2) put(内容3)这样写进properties以后
为什么在txt文件的顺序不是按照这个顺序从上往下的??

国际化了吧,转回来
国际化了吧,转回来

这个起始就是一个ascii,在你的jdk安装目录下的bin中,
有一个文件是native2ascii.exe(该文件和java.exe,javac.exe在相同目录中)
想要转换的回来的话很简单
如 String s = "\u662f\u8c01";
System.out.println(s);//是谁
这样的好处是,不管你配置文件的文件编码是什么,都不会影响你的文件内容,
因为很多时候file编码不一致会造成读取的内容乱码,如文件是GBK,最后以UTF8读取就会出现乱码。

如果解决了你的问题,希望结帖。

发现你还问了一个问题,就是输出顺序问题。
Properties是集成了HashTable的,而HashTable是一个无序的map结构,
获取元素也是用的Iterator,所以输出的内容也是无序的。
有序的Map结构有LinkedHashMap和TreeMap等。