使用扫描仪读取utf-8

时间:2014-12-14 20:07:39

标签: java encoding utf-8 java.util.scanner

使用 扫描仪 时,我遇到UTF-8编码问题。示例两行数据文件:

000001 Mėlynas Tadas 63210309683 V 2003/03/17 2016/03/17 
000002 Raudonas Tomas 65505023282 V 2006/01/26 2018/01/26

目前我使用 扫描程序 分别读取文本而不是整行,因为这样更方便,但由于编码而无法正确读取。我读过关于使用 InputStream 等的内容,但我不想处理凌乱的线路斩波。有没有办法在UTF-8中使用 扫描仪

2 个答案:

答案 0 :(得分:8)

此代码段可能有所帮助:

Locale loc = new Locale("es", "ES");
Scanner sc = new Scanner(new FileInputStream(file), "UTF-8");
sc.useLocale(loc);

答案 1 :(得分:7)

你试过吗,Scanner myScanner = new Scanner("myFile", "UTF-8");