我们正在处理一个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