У меня есть файл csv с такими символами, как Cité, но после вставки в БД я вижу это Cit¿

Я открываю файл как BufferedReader, но не знаю, как это сделать в UTF-8

BufferedReader br = new BufferedReader(new FileReader(csvFile));
2
Nunyet de Can Calçada 14 Мар 2018 в 14:47

2 ответа

Лучший ответ

Вы могли явно использовать FileInputStream и InputStreamReader, используя StandardCharsets.UTF_8, но, вероятно, проще использовать Files.newBufferedReader:

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

Стоит узнать о {{X0} }, так как в нем есть множество таких удобных методов.

3
Jon Skeet 14 Мар 2018 в 11:56

Вы можете использовать FileInputStream:

BufferedReader in = new BufferedReader(
           new InputStreamReader(
                      new FileInputStream(fileDir), "UTF8"));
1
xingbin 14 Мар 2018 в 11:50