我想要做的是读取 Windows 环境变量 %APPDATA%。我对元音变音有一些严重的问题,例如如果 APDATA 设置为 "ää"
我会得到类似 "'''"
的信息。
这是我的代码:
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 系统编码,但没有任何变化。
最佳答案
这是尝试获取环境变量值的一种脆弱方法。你最好使用 System.getEnv()
。这将返回 Map<String, String>
将环境变量名称链接到其值的实例。
关于java - 读取Windows环境变量(编码/字符集问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8136338/