当前位置: 首页 > 面试题库 >

如何使用Scanner Java读取非英语字符?

况喜
2023-03-14
问题内容

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

    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文件的字符串保留位置。

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


问题答案:

创建时选择其他编码Scanner

遵循此思路的某些方法可能会起作用:

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

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



 类似资料:
  • 问题内容: 我在从http get请求获取希伯来字符时遇到问题。 我得到这样的正方形字符:“ []”,而不是希伯来字符。 英文字符可以。 这是我的功能: 您可以通过以下示例网址进行测试: 谢谢! 问题答案: 您链接到的文件似乎不是。我测试过使用(希伯来语编码)可以正确打开它,您应该尝试使用而不是。

  • 问题内容: 我是HTTP相关事务的新手。我的问题是在iOS开发中,我想使用HTTP标头发送字符串,因此我在使用: 接收服务器是Python(Google App Engine),使用以下命令将db模型中的字符串值保存为StringProperty: 但是,问题是当我尝试发送非英语字符串(如韩语)时,它像这样保存在HTTP标头中: 并在Google App Engine收到并保存在DataStore

  • 我读了这段代码。正如世外桃源.txt内容使用“测试”。该文件的大小为 4 个字节。如果我使用调试来运行 一次一个字节,每次打开文件后再次打开.txt(用记事本)我依次看到:t--

  • 问题内容: 我想将以下字符串解析为日期: 我遵循了这一点,想到了: 就像英语字符串的魅力一样。 我的问题 :我想解析 德语字符串 。喜欢: 我知道,我可以通过正则表达式匹配日,月和年,然后进行解析。但是有没有可能 告诉time.Parse为month使用不同的常量集 ? 问题答案: 该时间包目前不支持i18n。等待发生这种情况时,您可以尝试使用包装程序包,例如: github.com/goodsi

  • 问题内容: 我尝试为此添加UTF-8,但没有成功。读取Java中的俄语文件该怎么办? 问题答案: 如果文件来自Windows PC,请尝试使用“ windows-1251”或“ Cp1251”作为字符集名称。 如果文件是以某种方式在MS-DOS编码中,请尝试使用“ Cp866”。 这两种都是单字节编码,将文件类型更改为UTF-8(多字节)没有任何作用。 如果其他所有方法均失败,请使用十六进制编辑器

  • 主要内容:字符的表示,字符的输出,字符与整数,再谈字符串前面我们多次提到了字符串,字符串是多个字符的集合,它们由 包围,例如 、 。字符串中的字符在内存中按照次序、紧挨着排列,整个字符串占用一块连续的内存。 当然,字符串也可以只包含一个字符,例如 、 ;不过为了操作方便,我们一般使用专门的字符类型来处理。 初学者经常用到的字符类型是 char,它的长度是 1,只能容纳 ASCII 码表中的字符,也就是英文字符。 要想处理汉语、日语、韩语等英文之外的字符