Java UTF-8有BOM变无BOM教程
整体流程
flowchart TD
A(读取含有BOM的UTF-8文件) --> B(去除BOM)
B --> C(写入无BOM的UTF-8文件)
操作步骤
步骤 | 操作 |
---|---|
1 | 读取含有BOM的UTF-8文件 |
2 | 去除BOM |
3 | 写入无BOM的UTF-8文件 |
具体操作步骤
- 读取含有BOM的UTF-8文件
/**
* 读取含有BOM的UTF-8文件
*/
public static byte[] readFile(String filePath) throws IOException {
FileInputStream fis = new FileInputStream(filePath);
byte[] data = new byte[fis.available()];
fis.read(data);
fis.close();
return data;
}
- 去除BOM
/**
* 去除BOM
*/
public static byte[] removeBOM(byte[] data) {
if (data.length >= 3 && data[0] == (byte)0xEF && data[1] == (byte)0xBB && data[2] == (byte)0xBF) {
byte[] newData = new byte[data.length - 3];
System.arraycopy(data, 3, newData, 0, newData.length);
return newData;
}
return data;
}
- 写入无BOM的UTF-8文件
/**
* 写入无BOM的UTF-8文件
*/
public static void writeFile(String filePath, byte[] data) throws IOException {
FileOutputStream fos = new FileOutputStream(filePath);
fos.write(data);
fos.close();
}
结束语
通过以上教程,你可以轻松地实现Java中UTF-8有BOM变无BOM的操作。记住,要先读取含有BOM的UTF-8文件,然后去除BOM,最后写入无BOM的UTF-8文件。希望这篇文章对你有所帮助!