【发布时间】:2021-09-19 22:07:09
【问题描述】:
在下面我试图打印一行的某些部分,但是我只从输入文件中的字符串中获取交替的空字符。
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream( cmdLnArgs[0] )));
String s;
while ( (s = br.readLine()) != null ) {
String[] columns = s.split( "\t" );
String out = "/storage/37C4-1314/Music/" + columns[1] + "/" + columns[3] + "\n";
System.out.print( out );
}
为什么会发生以下情况?... [事实上我无法复制/粘贴,因为空值!]:
/storage/37C4-1314/Music/S a m e O l e L o v e 。 m p 3
即:
即使是“+ new String(columns[3].getBytes("UTF-8"),"UTF-8")”也不适合我。 this 也没有。
【问题讨论】:
-
看来
FileInputStream获取了 Unicode (UTF-16) 中的字节? -
@JosefZ -- 我相信你是对的,也许我可以通过解码为 UTF-8 的“扭曲”,但我希望有一种更简单的方法来读取 txt 中的行文件,然后将子集写回(写入以 .m3u 结尾的 txt 文件,因为我正在将播放列表从 iTunes 转换为我的 Android 列表)
标签: character-encoding bufferedreader