java 读取文件流乱码输出乱码
Filef1=newFile("a.txt");FileInputStreamis=newFileInputStream(f1);inti;while((i=is.rea...
File f1 = new File ("a.txt");
FileInputStream is=new FileInputStream(f1);
int i;
while((i=is.read())!=-1){
System.out.print((char)(i));
} 展开
FileInputStream is=new FileInputStream(f1);
int i;
while((i=is.read())!=-1){
System.out.print((char)(i));
} 展开
3个回答
展开全部
如果你全是中文的话,中文是两个字节,那么可以采用两个字节一起读,如果你中英文交叉的文本,那就不好办了,只能把文本一次性全都读进来再输出。
纯中文读取:
File f1 = new File ("a.txt");
FileInputStream is=new FileInputStream(f1);
int i;
byte[] b =new byte[2];
while((i=is.read(b))!=-1){
System.out.print(new String(b));
}
中英文混合的文本读取
byte[] b =new byte[yourtxtlength];
yourtxtlength就是你文本字节的长度
纯中文读取:
File f1 = new File ("a.txt");
FileInputStream is=new FileInputStream(f1);
int i;
byte[] b =new byte[2];
while((i=is.read(b))!=-1){
System.out.print(new String(b));
}
中英文混合的文本读取
byte[] b =new byte[yourtxtlength];
yourtxtlength就是你文本字节的长度
展开全部
可以直接这么写,加入字符编码:
InputStreamReader isr = new InputStreamReader(new FileInputStream("a.txt"), "utf-8");
剩下的一样
InputStreamReader isr = new InputStreamReader(new FileInputStream("a.txt"), "utf-8");
剩下的一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
汉字出现乱码,是因为你用字节流来读取汉字了,你应该用字符流,FileReader来读取文件,你试一下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询