我怎么知道文件的语言环境?

时间:2014-01-22 07:55:30

标签: locale setlocale

我想读取一个文件(如.txt)并执行std :: cout。

但如果文件的区域设置与我系统的区域设置不同,则会打印出奇怪的内容。

这是我的问题。我怎么知道文件的语言环境?

如果我可以获取文件的区域设置,我可以将系统的区域设置更改为文件的区域设置,它将打印清楚。

1 个答案:

答案 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();
    }