JAVA通过sftp下载utf8文件踩过的坑

现象:线上sftp下载文件解析入库,平时都可以正常解析入库,突然出现文件解析异常,手工下载打开文件格式是符合要求的。

原因:约定文件使用的是utf-8编码,一般文件都是正常的utf-8的文件,
但UTF-8的文件有BOM和无BOM之区别,在有BOM的UTF-8的文件中需要注意文件开头会多出字符,造成程序解析失败,在处理文件时规避掉这个BOM。
 //如果是utf-8 bom 格式
        if (sqlFileContent.startsWith("\uFEFF")) {
            logger.info(">>>>>>>>>>>>>>>>接收的字符串是utf-8 bom" +"编码格式的>>>>>>>>>>>>>>>>>>");
            sqlFileContent = sqlFileContent.substring(sqlFileContent.indexOf("\uFEFF") + 1);
        }

你可能感兴趣的:(java)