为了慢慢占用每个人的内存,Java将这些文件扩展为".properties",这些文件基本上是一个充满键值对的ASCII文本文件.该框架有一些非常简单的方法将该文件吸入(基本上)一个花哨的hashmap.
两个巨大的优势(我认为)是手工编辑和阅读/写作的极易.
.NET是否有相同的烘焙?当然,我可以用XML文件做同样的事情,但如果你知道我的意思,我宁可不要手工输入所有尖括号.此外,将所有数据吸入内存中的数据结构的方法也很好.
(侧栏:我有点不敢相信这里已经没有问过了,但我找不到这样的问题.)
编辑:
为了回答一些评论暗示的问题,我不是在寻找一种在.NET下专门阅读java .properties文件的方法,我正在寻找.NET领域中的功能等价物.(而且我希望它不会基于XML,显然已经忘记了这是我们正在讨论的.NET.)
并且,虽然配置文件很接近,但我需要存储一些任意字符串,而不是应用程序配置信息,所以配置文件的焦点和设计似乎是偏离基础的.
我正在阅读XML文档(UTF-8)并最终使用ISO-8859-1在网页上显示内容.正如预期的那样,有几个字符显示不正确,比如“
,–
和’
(他们显示为?).
是否可以将这些字符从UTF-8转换为ISO-8859-1?
这是我编写的代码片段,用于尝试此操作:
BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(), "UTF-8"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
byte[] latin1 = sb.toString().getBytes("ISO-8859-1");
return new String(latin1);
Run Code Online (Sandbox Code Playgroud)
我不太确定会出现什么问题,但是我认为它是readLine()引起了悲伤(因为字符串是Java/UTF-16编码的?).我尝试的另一种变化是用latin1替换
byte[] latin1 = new String(sb.toString().getBytes("UTF-8")).getBytes("ISO-8859-1");
Run Code Online (Sandbox Code Playgroud)
我已经读过以前关于这个主题的帖子,我正在学习.在此先感谢您的帮助.