gpt4 book ai didi

java - Apache FileUtils 是否有办法在附加到 UTF-16 文件时考虑 BOM?

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:59 24 4
gpt4 key购买 nike

我有大量数据,其中包括西类牙语和英语字符,我正在缓冲这些数据并将其流式传输到文件中。第一次推送效果很好,写入了一个新的 UTF-16BE\w BOM 文件。

当我尝试附加下一组数据时,FileUtils.write() 会调用 String.getBytes("UTF-16"),它会在要附加的字节数组的开头创建另一个 BOM。

有没有办法告诉 FileUtils 检测它是否正在附加并修剪 BOM(如果存在)?

最佳答案

好吧,我想我知道我想做什么了。

private byte[] withoutBOM(final String string, final Charset encoding) throws UnsupportedEncodingException {
byte[] bytes = string.getBytes(encoding);
return Arrays.copyOfRange(bytes, bytes.length % string.length(), bytes.length);
}

这将假设任何编码都是字符串的偶数倍(例如,UTF-16 每个字符有两个字节),并从字节数组的开头修剪掉任何元数据。这样,每当我检测到要附加到文件时,我就可以调用此方法,而无需知道实际编码是什么

关于java - Apache FileUtils 是否有办法在附加到 UTF-16 文件时考虑 BOM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com