我們正在處理一個byte [],如下所示(該文件被POST到一個web服務器,這段代碼在Glassfish中運行),並且發現一些文件有一個字節順序標記(BOM,三字節序列0xEF,0xBB,0xBF,請參閱:http://en.wikipedia.org/wiki/Byte_order_mark),我們希望刪除此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 2012-02-08 16:32:53
有一種方法可以確保字節是BOM;如果文件使用UTF-8編碼,並且以0xEF 0xBB 0xBF開頭,那麼這三個字節就是BOM。 – DwB 2012-02-08 16:36:45
太棒了,謝謝! – bethesdaboys 2012-02-08 16:40:50