java: 错误: 非法字符: '\ufeff' 错误: 需要class,interface或enum

场景

用Windows记事本打开并修改.java文件,保存后重新编译运行项目出现java: 非法字符: '\ufeff'”错误,如下图所示:

 

java: 错误: 非法字符: '\ufeff' 错误: 需要class,interface或enum

原因

原来这是因为Windows记事本在修改UTF-8文件时自作聪明地在文件开头添加BOM导致的,所以才会导致IDEA不能正确读取.java文件,使程序出错。

解决办法

在编辑器EditPlus中打开文件,另存为,选择UTF-8 ,覆盖原文件即可。

java: 错误: 非法字符: '\ufeff' 错误: 需要class,interface或enum