从Excel txt导出中读取Java中的UTF-8

时间:2016-06-23 03:26:25

标签: java excel encoding utf-8

我遇到了一些简单的问题而且它正在进行中。我在Excel电子表格中有一些条目包含各种亚洲字符等。当使用UTF-8导出为“Unicode text(* .txt)”时选择作为编码我可以在记事本中正确查看它,但当我尝试在Eclipse控制台中打印它时,我得到了胡言乱语。我尝试过如何读取UTF-8的变体,我知道控制台可以显示它:

    try {
        //BufferedReader in = new BufferedReader(new FileReader("testtest.txt"));
        File fileDir = new File("testestet.txt");
        //PrintStream out = new PrintStream(System.out, true, "UTF-8"); // tried this just in case
        System.out.println("사과"); // this prints just fine
        BufferedReader in = new BufferedReader(
           new InputStreamReader(new FileInputStream(fileDir), StandardCharsets.UTF_8));
        String line;
        while((line = in.readLine()) != null)
        {
            System.out.println(line);
        }
        in.close();
    }
    catch (Exception e) { e.printStackTrace(); }

有什么想法吗?无论我在这里发现什么解决方案都没有用。我想知道excel是不是只是被塞了......

2 个答案:

答案 0 :(得分:0)

你应该试试吗?

BufferedReader in = new BufferedReader(
       new InputStreamReader(new FileInputStream(fileDir), StandardCharsets.UTF_8));

答案 1 :(得分:0)

嘿,我在测试所有StandardCharsets时发现了问题。 UTF-16有效!我想我的Excel电子表格中的一些字符不受UTF-8的支持而且Excel在没有告诉我的情况下解决了这个问题......