请大家帮我看看这个的输出为啥多了几个问号

http://img.mukewang.com/57af18930001426508270558.jpgpackage about_IO;


import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;


public class Bite {


public static void main(String[] args) throws IOException {

// TODO Auto-generated method stub

File file=new File("D:\\io.txt\\IO.txt");

System.out.println(file.exists());

try{

FileInputStream file1=new FileInputStream(file);

int a=0;

while((a=file1.read())!=-1){

System.out.print((char)a);

}

file1.close();

}catch(FileNotFoundException e){

System.out.println("文件不存在");

}

catch(IOException e){

System.out.println("发生IO异常");

}

}


}

这个是原来的代码。

输出是这样的:

true

???abcde

文件内只有abcde几个字母,希望各位大神解答一下。


丶归途
浏览 2291回答 5
5回答

慕标2337738

因为读的时候只能一个一个字节的读,如果包含两个或者两个以上就会出现乱码。加缓存,或者用reader读,就好了。  

千湖之梦

编码问题

丶归途

主要就是想问一下,后面明明已经正常输出了,为啥前面还会有几个问号,明明文件里面没有其他数据了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java