java: 非法字符: ‘\ufeff’ 通过Python脚本批量去除utf8的bom头信息 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

java: 非法字符: ‘\ufeff’ 通过Python脚本批量去除utf8的bom头信息

Java admin 7年前 (2018-06-08) 4023次浏览 已收录 扫描二维码

项目原来是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))
喜欢 (3)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。