少将博客

学会感恩,乐于付出,珍惜缘份,成就彼此、

java: 非法字符: ‘\ufeff’ 通过Python脚本批量去除utf8的bom头信息 2018-06-8 星期五


项目原来是eclipse工程,转到Idea下后,启动报错

Error:(1, 1) java: 非法字符: '\ufeff'
Error:(1, 10) java: 需要class, interface或enum

开始手动先将文件转成GBK,再转回来UTF-8

一个两个还好,几十个文件,还真是手动笨笨的转完了。

可以用Python批量转换,避免重复劳动。

点击下载bom

把项目的directory改成项目工程目录。

import os, time 

if __name__ == '__main__': 
    start = time.time() 
    directory = "D:/work/workspace/app/src" 
    for cdir, subdirs, files in os.walk(directory): 
        for file in files: 
            if file.endswith(".java"): 
                print(file) 
                bom_file = os.path.join(cdir, file)
                s = open(bom_file, mode='r', encoding='utf-8-sig').read() 
                open(bom_file, mode='w', encoding='utf-8').write(s) 
    print("cost time: %.3fs" % (time.time() - start))

0条评论

发表评论