java 文件一个一个字节读取(但内容有中文)
publicstaticvoidmain(String[]args)throwsIOException{FileInputStreamfis=newFileInputSt...
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("io/1.txt");
int len ;
while((len = fis.read()) != -1){
System.out.print((char)len); //如果中文怎么单个输出?
}
fis.close();
} 展开
FileInputStream fis = new FileInputStream("io/1.txt");
int len ;
while((len = fis.read()) != -1){
System.out.print((char)len); //如果中文怎么单个输出?
}
fis.close();
} 展开
2个回答
展开全部
这是题目吗?
一个汉字为两个byte,你一个个读出来转码是不行的。应该全部读出来统一转码,拿到数据之后想怎么输出滑陪隐就怎么输出了。
下面是个例子,不太确定对信厅不对,不过能给你一个参考。
string str = "";
while((n=bu.read(a))!=-1)
{
str += new String(a,o,n)
}
return new String(str.getBytes("UTF-8"),"UTF-8");
第一个"UTF-8",是读取的文件的编码方式乱游,第二个是要转成的编码方式。
一个汉字为两个byte,你一个个读出来转码是不行的。应该全部读出来统一转码,拿到数据之后想怎么输出滑陪隐就怎么输出了。
下面是个例子,不太确定对信厅不对,不过能给你一个参考。
string str = "";
while((n=bu.read(a))!=-1)
{
str += new String(a,o,n)
}
return new String(str.getBytes("UTF-8"),"UTF-8");
第一个"UTF-8",是读取的文件的编码方式乱游,第二个是要转成的编码方式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询