字符流中read方法返回值是int,当我从文本中读取是,返回int值,到末尾返回-1可是为什么我把读入的数据再输出到另一个文本中还是char?比如A的内容:
java练习那把A读入在输出到B,B的内容还是:
java练习为什么B的内容不是一串数字??

解决方案 »

  1.   

    这个你得先去好好学学IO基础
    不知道你的具体环境和代码,简单的假设一下
    你用的InputStream和OutputStream
    read方法有2种,一种是每次读取一个字节的read()方法,这个方法返回的是读取到的当前字节数据
    一种是读取n个字节,放入byte[]缓冲区的双缓冲读写,返回的是读取到的字节长度
    估计你用的是非缓冲的单字节读取,那么你读取完以后,用os输出时,同样是作为字节数据输出的,所以两者内容当然一样至于你说的为什么不是一串数字...这个...字节是字节,字节不等于字符串,任何数据的底层都是字节,为什么你会得出写到B的内容是一串数字这个结论
      

  2.   

    可是我是说字符流中Reader的read方法,不是以字节为单位的字节流啊
      

  3.   

    我是比较疑惑字符流中的read方法,而不是字节流的。
      

  4.   

    read的时候那read读取的就是一个char,但是char有对应assic码,而read的时候都会把char转成对象应assic码,所以也就是int型的了,而在写的时候也会还原成原来的char。
    如果你直接打印那么就是该char的assic码了。
      

  5.   

    Reader接口和Stream接口的区别只是一个以byte为基准,一个以char为基准而已
    stream返回的是单个byte
    reader返回的是单个char
    reader只是帮你组织了byte[]到char的过程
    接口意义上来说 是一样的