0
我想要做的是读取Windows环境变量%APPDATA%。我有一些Umlauts的严重问题,例如如果APDATA设置为"ÄÄÄ"
我会得到像"'''"
。阅读Windows环境变量(编码/字符集问题)
这里是我的代码:
final Process p = Runtime.getRuntime().exec("cmd.exe /C echo %APPDATA%");
final BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String buffer;
if((buffer = br.readLine()) != null) {
return buffer;
}
如果我打印出
String encoding_system = System.getProperty("file.encoding");
我越来越Cp1252
。我试图告诉InputStreamReader系统编码,但没有任何变化。
谢谢你的回答,你是对的,但我忘了发布,在这个项目中,我仍然使用Java 1.4 :( – jeven
@ user734535嗯,我会......它真的只在1.5引入。不知道是怎么回事编码控制台输出往往是我的经验有问题 –
我临时使用Java 1.6。与System.getEnv(“APPDATA”),但我结束了相同的编码问题。试图转换String.getBytes()遍历所有字符集,但没有一个提供正确的字符串 –
jeven