3

.txt ファイルを書き込もうとしていますが、UCS-2 リトル エンディアンでなければなりませんが、

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();

提案をありがとう。

4

2 に答える 2

2

Jythonでこの正確な問題に遭遇しました。

Jython 2.5.2 では、Jon Skeet の回答が機能しません。あなたが必要

write('\xff\xfe')

これが他の誰かに役立つことを願っています。

于 2013-08-14T17:51:47.433 に答える