编程语言
首页 > 编程语言> > 如何用Scanner java读取非英文字符?

如何用Scanner java读取非英文字符?

作者:互联网

那里
我正在制作这个应用程序来更改字幕文件.
当我测试它时,我遇到了一个奇怪的问题,当我在非英语(例如波斯语)上测试它时程序将无法读取该文件.
这就是我在程序中阅读字幕的方式:

    Scanner sub = null;
    try {
      sub = new Scanner(new File(address));
    } catch (FileNotFoundException ex) {
      ex.printStackTrace();
    }
while(sub.hasNext()){
  String sentence = sub.nextLine();
  //some magical stuff here :)
}

其中address是.srt文件的String保存位置.

我应该怎么做才能让程序读取文件?

解决方法:

创建扫描仪时选择不同的编码.

这可能有用:

new Scanner(new File(address), "UTF-16");

这将更改扫描程序以使用UTF-16编码读取文件.

您可以阅读有关编码here的更多信息.

标签:java-util-scanner,subtitle,java
来源: https://codeday.me/bug/20191007/1867856.html