我想读取一个文件(如.txt)并执行std :: cout。
但如果文件的区域设置与我系统的区域设置不同,则会打印出奇怪的内容。
这是我的问题。我怎么知道文件的语言环境?
如果我可以获取文件的区域设置,我可以将系统的区域设置更改为文件的区域设置,它将打印清楚。
答案 0 :(得分:0)
使用以下内容读取文件:
new InputStreamReader(new FileInputStream(...),)
对于编码使用基于文件源的所需编码,您可以猜测或尝试使用UTF-8进行测试。
示例:
String file = "file location";
String encoding = "utf-8";
try {
new InputStreamReader(new FileInputStream(file), encoding);
} catch (UnsupportedEncodingException e) {
System.out.println("Encoding Uknown " + encoding);
} catch (FileNotFoundException e) {
e.printStackTrace();
}