Read utf-8 using Scanner [closed]

2020-03-17 03:54发布

I am having trouble with UTF-8 encoding when using Scanner. Example two lines of my data file:

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

Currently I am using Scanner to read the text separately instead of the whole line as this is more convenient, but it doesn't read correctly because of the encoding. I've read about using InputStream etc but I don't want to deal with messy line chopping. Is there a way to use Scanner with UTF-8?

2条回答
爷的心禁止访问
2楼-- · 2020-03-17 04:33

This code snippet might help:

Locale loc = new Locale("es", "ES");
Scanner sc = new Scanner(new FileInputStream(file), "UTF-8");
sc.useLocale(loc);
查看更多
Anthone
3楼-- · 2020-03-17 04:37

Have you tried, Scanner myScanner = new Scanner("myFile", "UTF-8");

查看更多
登录 后发表回答