Linux サーバーで JDK 1.7 を使用しています。私はApache 6.0.35をインストールし、コードを使用しています
Writer w = new OutputStreamWriter(os,"Unicode");
Unicode 形式でファイルを書き込みます。
しかし、ファイルはユニコードビッグエンディアン形式で生成されています。別の出力形式を選択するにはどうすればよいですか?
「Unicode」は単一の形式ではありませんが、UTF-16(ビッグエンディアンおよびリトルエンディアン)やUTF-8などのエンコーディングを指定します。
UTF-16LE
おそらく、ではなく、のような特定のものが必要ですUnicode
。http://docs.oracle.com/javase/7/docs/api/java/nio/charset/StandardCharsets.htmlのリストをご覧ください
Unicode または UTF-16 を使用する場合、デフォルトでビッグ エンディアンになります。エンディアンを指定しない場合、Java は原則としてビッグ エンディアンを想定します。リトルエンディアンが必要な場合は、"UTF-16LE"
またはで指定する必要がありますStandardCharsets.UTF_16LE
java.nio.charset.StandardCharsets から
public static final Charset UTF_16LE = Charset.forName("UTF-16LE");
Java文字セット名の「UTF-16」は、ビッグエンディアンのUTF-16を意味します。このリトル エンディアン形式のようなものを試してください。
BufferedWriter out = new BufferedWriter
(new OutputStreamWriter(new FileOutputStream(path),"UTF-16LE"));