我有一些从脚本生成的文件,这些文件提供了有关各种计算机的信息。 txt文件采用UTF-8,但是只有一行采用UTF-16格式。我应该如何从文件中读取这一行?
P.S。我正在尝试编写一个程序来解析所有这些文件,并将它们重新编译为一个集合的.csv文件。
我尝试用bufferedReader
和Scanner
读取文件,但是这一行是我遇到的唯一麻烦。我在网上找到的大多数用于读取UTF-16的代码都是针对整个文件的,而不是UTF-16中的全部代码。
///在记事本中打开该行时的外观。
S e r i a l N u m b e r 5 C G 8 X X X X X X
///在Notepad ++中打开该行时的外观,每个字符之间都有“ nul”值。
S e r i a l N u m b e r 5 C G 8 X X X X X X
我的代码可以提取字符串的一部分,但是它的格式是多行,Java无法识别每个字母或数字之间的字符。
答案 0 :(得分:4)
您可以尝试这样。
File infile = new File("/someFileInutf16.txt");
FileInputStream inputStream = new FileInputStream(infile);
Reader in = new InputStreamReader(inputStream, "UTF-16");