代码之家  ›  专栏  ›  技术社区  ›  Nuñito Calzada

在UTF-8中打开BufferedReader

  •  2
  • Nuñito Calzada  · 技术社区  · 7 年前

    我有一个csv文件,其中的字符如下 Cité ,但在插入DB之后,我看到了 Cit¿

    我以 BufferedReader ,但我不知道怎么做 UTF-8

    BufferedReader br = new BufferedReader(new FileReader(csvFile));
    
    2 回复  |  直到 7 年前
        1
  •  3
  •   Jon Skeet    7 年前

    能够 明确使用 FileInputStream InputStreamReader 使用 StandardCharsets.UTF_8 ,但使用起来可能更简单 Files.newBufferedReader :

    Path path = Paths.get(csvFile);
    try (BufferedReader reader = Files.newBufferedReader(path)) {
        // Use the reader
    }
    

    值得了解一下 Files 类,因为它有许多这样的方便方法。

        2
  •  2
  •   xingbin    7 年前

    您可以使用 FileInputStream :

    BufferedReader in = new BufferedReader(
               new InputStreamReader(
                          new FileInputStream(fileDir), "UTF8"));