我有一个文本文件“abc.txt”编码在utf-8数据中,是一组来自wikipedia page的表情符号:
(^_^) happy
我的代码将此信息从文件中提取到netbeans stdout
我的代码:
public static void main(String[] args) throws FileNotFoundException {
Scanner sc=new Scanner(new File("abc.txt"));
while(sc.hasNext()){
System.out.println(sc.nextLine());
}
}
在netbeans中,输出为:
在控制台中输出为:
这个角色是什么? 我该如何删除它?
答案 0 :(得分:2)
控制台输出看起来像UTF-8编码Byte Order Mark(BOM,U + FEFF),字节0xEF 0xBB 0xBF,根据一些传统的8位字符编码误解释。
保存没有BOM的文件,或者让程序识别并在数据开头跳过BOM。
答案 1 :(得分:1)
widows编辑器添加的文件开头有一个不可打印的字符。有必要在文件中删除它或通过Java代码跳过它。