以下のようにバイト[]を処理しています(このファイルはGlassfishで実行されています。このコードはGlassfishで実行されています)、バイトオーダーのマーク(BOM、3バイトのシーケンス0xEF、0xBB、0xBF、http://en.wikipedia.org/wiki/Byte_order_markを参照してください)、このBOMを削除します。このコードでBOMを検出して削除するにはどうすればよいですか?ありがとう。Javaバイト配列とDataOutputStream処理
private final void serializePayloadToFile(File file, byte[] payload) throws IOException {
FileOutputStream fos;
DataOutputStream dos;
fos = new FileOutputStream(file, true); // true for append
dos = new DataOutputStream(fos);
dos.write(payload);
dos.flush();
dos.close();
fos.close();
return;
}
'payload.length> 2'をテストすることを忘れないでください。 – user949300
バイトがBOMであることを確認する方法があります。ファイルがUTF-8を使用してエンコードされ、0xEF 0xBB 0xBFで始まる場合、これらの3バイトはBOMです。 – DwB
恐ろしい、ありがとう! – bethesdaboys