来源:互联网 发布:淘宝网是谁创建的 编辑:程序博客网 时间:2024/04/26 06:53
http://topic.csdn.net/t/20061107/09/5138204.html 转载
  先要理解流的概念,所谓流就是不断的流出0或者1,所以他是乱七八糟的,那怎么办,java提供I/O流的方式对他进行格式化,比如最基本的   InputStream就是这些把01     八个一组,进行读入,也就是   恰好一个字节,所以他一次要么读8个要么不读。那么字符流当然就是一次读16个01  
  。那么什么情况下用字节流,什么情况下用字符呢?一般是文本文件我们用字符流,这样快。但如果是图象这样的文件,如果是按照字符流来读写就可能会漏掉数据,具体原因是:一般的图象文件是按字节存储的,如果按字符流来处理,比如换行符(/n)就会自动过滤掉,而代表/n的那几个01在图象里面就不是什么换行,而是他的数据内容,所以遗漏就造成了。  
    由此也可以看出,任何情况下我们采用字节格式化流方式都不会遗漏数据。  
  至于你所说的unicode问题,什么乱码这显然是不会的,因为中间还有jvm,他给你做了很多事情,你只要在逻辑概念上理解就可以了,他在内寸里面具体怎么实现,有点复杂,比如float,就由s   m   e三部分组成,比较复杂。 
原创粉丝点击