用UCS-2 Little Endian,Java写文本文件
我正在尝试编写.txt文件,它必须是UCS-2 Little Endian,但是当我尝试
writer = new PrintWriter(path, "UTF-16LE");
根据我的阅读,它应该是相同的,但在服务器上的特定应用程序中将无法使用。当我在Notepad ++中打开可以正常工作(手动创建)的文件时,它说它是“
UCS-2 Little Endian”,但是用Java这样创建时,它说“ UCS-2 LE w / o BO”,服务器无法读取它。
我该怎么写才能使用?这是完整的代码:
writer = new PrintWriter(path, "UTF-16LE");for (int j = (i - itemsInPlaylist + 1); j <= i; j++) {
writer.println(listParsedFile.get(j).getNameOfFile());
}
itemsInPlaylist = 0;
writer.close();
感谢您的任何建议。
回答:
听起来您需要先写一个字节顺序标记,以便您的应用程序可以检测到编码。(尚不清楚“它说”的意思-
显然无论“它”是什么,都可以猜测它是UTF-16LE,但可靠性不及获得BOM时的可靠性。)
因此,只需添加:
writer.write("\uFEFF");
在你写其他东西之前。
以上是 用UCS-2 Little Endian,Java写文本文件 的全部内容, 来源链接: utcz.com/qa/410345.html