黑马程序员技术交流社区

标题: 关于数据流的输出 ——大家帮忙哈 [打印本页]

作者: 李龙涛    时间: 2011-7-25 17:21
标题: 关于数据流的输出 ——大家帮忙哈
首先程序是:
import java.io.*;
public class J_Example  
{
  public static void main(String[] args)
   {
    int b;
    try
     {
       FileOutputStream t=new FileOutputStream("out.txt");
       DataOutputStream f=new DataOutputStream(t);  //DataOutputStream的构造方法必须以OutputStream以及InputStream的实例引用为参数;
       for(b=0;b<5;b++)
           f.writeByte(b+'0');
           f.close();  
     }
    catch(Exception e)
     {
       System.out.println(e);
     }
   }
成员方法:public final void writeByte(int v) throws IOException;
但是 f.writeByte(b+'0')里面的b+'0'是什么意思?
如果理解成整数的话,但是为什么去掉‘0’,写入文件的就是乱码呢?
作者: 匿名    时间: 2011-7-25 17:58
将一个 byte 值以 1-byte 值形式写出到基础输出流中。如果没有抛出异常,则计数器 written 增加 1。
作者: 匿名    时间: 2011-7-26 01:22
f.writeByte(b+'0')里面的b+'0'是什么意思?

比如第二次循环, b= 1  ,'0' 在ascii 编码里面是48  那么这两个数相加就是49   而49就是1在ascii编码的值、
所以他写到文件的是 这些整数的ascii码 ,反之, reader 方法也一样
作者: 王松朝    时间: 2011-7-26 08:28
楼上正解!
'0'是作为字符在ascii码的偏移量使用的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2