Java程序输出txt文件内容时中文乱码怎么解决?

程序如下:importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;publi... 程序如下:
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class TestFileInput {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
File f=new File("E:/student.txt");//创建文件路径
FileInputStream fis = null;//创建FileInputStream类的对象
try
{
fis = new FileInputStream(f);//由于File类不支持文件的读写,只表示文件的路径,所以需要通过FileInputStream类
byte[] bytes=new byte[1024];//定义字节为1024大小的数组
int n=0;
System.out.println("E盘Student文件内容如下:");
while((n=fis.read(bytes))!=-1)//通过read方法每次读取bytes大小的数据,当读取到文件末尾时返回-1
{

String s=new String(bytes,0,n);//将字节数组中的内容读取到字符串中

System.out.println(s);
}

}catch (Exception e){
e.printStackTrace();
}finally{
try{
fis.close();
}catch (IOException e){
e.printStackTrace();
}
}
}

}

运行结果是:
E盘Student文件内容如下:
My name is ������
怎么解决?
展开
 我来答
wangeil008
2015-11-28 · 超过11用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:14.1万
展开全部
既然是输出的不是二进制文件,为什么不用FileWriter+BufferedWriter呢,这样就不会有乱码了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2015-11-28
展开全部
String s = new String(bytes, 0, n,"gbk");
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式