黑马程序员技术交流社区
标题:
关于IO流输出怎么会不一样
[打印本页]
作者:
何明辉
时间:
2012-8-4 08:42
标题:
关于IO流输出怎么会不一样
本帖最后由 何明辉 于 2012-8-5 12:01 编辑
import java.io.*;
class IODemo
{
public static void main(String[] args)throws IOException
{
FileInputStream in=new FileInputStream("c:\\222.asm");
FileOutputStream out=new FileOutputStream("c:\\555.text");
int ch;
while((ch=in.read())!=-1)
{
if(ch=='\n')
System.out.println();
System.out.print((char)ch);//将程序打印在控制台上
out.write(ch);//将程序打印在c盘的文件中
}
in.close();
out.close();
}
}
上面的程序都是通过read()方法读取一个字节,然后分别显示在控制台和文件上。但是为什么有时候显示的不一样,特别是当源文件中有汉字字符时,就显示的不一样,为什么?
作者:
张云杰
时间:
2012-8-4 11:20
跟你的编码有关系, 有时候 UTF-8也会搞鬼...
作者:
张云杰
时间:
2012-8-4 11:40
不好意思啊 刚看错题目了, 我重新回答下吧, 因为你中文是占了2个字节 然 read()才读1个字节
所以就不能读取到中文了.. 如果非要字节读取, 建议用 byte[]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2