Netbeans和控制台中的未知字符

时间:2013-12-20 06:14:51

标签: java netbeans unicode

我有一个文本文件“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中,输出为:

enter image description here

在控制台中输出为:
enter image description here

这个角色是什么? 我该如何删除它?

2 个答案:

答案 0 :(得分:2)

控制台输出看起来像UTF-8编码Byte Order Mark(BOM,U + FEFF),字节0xEF 0xBB 0xBF,根据一些传统的8位字符编码误解释。

保存没有BOM的文件,或者让程序识别并在数据开头跳过BOM。

答案 1 :(得分:1)

widows编辑器添加的文件开头有一个不可打印的字符。有必要在文件中删除它或通过Java代码跳过它。