java IO字节流详解及实例代码

  

<强> java IO字节流详解

  

1只,,,,,,,如何理解输入输出流?
  

  

这是我当初在学习Java IO这一块很难理解的一块,输入输出流我们可必须以一个为参照物:我们以内存为参照物,凡是写入内存的我们叫输入流,从内存中写出的我们叫输出流。看下面的示例图

  

癹ava

  

有了这样的一个概念对于我们再学习Java中的IO流我相信就会变得特别简单了只
  

  

<强> 2只,,,,,,,再看流的分类
  

  

流的分类,Java的流分类比较丰富,刚接触的人看了后会感觉很晕。流分类的方式很多:
  

  

1,按照输入的方向分,输入流和输出流,输入输出的参照对象是Java程序(InputStream OutPutStream)。
  2,按照处理数据的单位不同分,字节流和字符流,字节流读取的最小单位是一个字节(1字节=8位),而字符流一次可以读取一个字符(1字符=2字节=16位)(InputStream读者)。
  3,按照功能的不同分,分节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流,FileInputStream是一个接点流,可以直接从文件读取数据,但是BufferedInputStream可以包装FileInputStream,使得其有缓冲功能。(FileInputStream BufferedInputStream)
  其实除了以上三种分类外,还有一些常常听到的一些分类比如:对象流,缓冲流,压缩流,文件流等等。其实都是节点流和处理流的子分类。当然你也可以创建新的流类型,只要你需要。
  

  

<强> 3只,,,,,,,字节流:
  

  

字节流主要操作字节类型数据,以字节数组为准,主要操作类有InputStream(字节输入流),OutputSteam(字节输出流)由于IputStream和OutputStream都是抽象类,所要要用这两个类的话,则首先要通过子类实例化对象。下面就是这两个类的一些子类结构图,

  

, 癹ava
  

  

1),,,,,,,字节输出流:OutputStream
  

  

OutputStream是一个抽象类,要想使用它,必须通过子类来实例化它只
  

  

OutputStream类的常用方法
  

  

              

方法名称

        

描述               

公共空close()抛出IOException

        

关闭输出流

              

公共空冲()抛出IOException

        

刷新缓冲区

              

公共空写(byte [] b)抛出IOException

        

将一个字节数组写入数据流

              

公共空写(byte [] b, int, int len)抛出IOException

        

将一个指定范围的字节数组写入数据流

              

公共抽象空写(int b)抛出IOException

        

将一个字节数据写入数据流

              ,,
  

  

实例1:Helloworld从Helloworld开始
  

  

功能:向一个名为“hello.txt”的文本文件中写一个“HelloWorld”),
  

        公共静态void main (String [] args){抛出异常//创建一个以当前工程目录下的名为“helloworld.txt”的文本文件      文件文件=新文件(“hellowolrd.txt”);      OutputStream OutputStream=零;//通过FileOutPutStream的子类实例化OutputStream对象      outputStream=new FileOutputStream(文件);//声明一个字符串      字符串str=癶ello, world”;//将字符串转换成字节数组      byte [] b=str.getBytes ();//写入数据      outputStream.write (b);//关闭输出流      outputStream.close ();      outputStream.flush ();      }   之前      

我们可以看到当前工程目录下已经有一个helloworld。txt且里面已经有数据,如果我们把str的值改变的话,文本文件里的数据也会改变,所以我们想是不是可以不删除原来的数据,在追尾上追加上。
  

  

我们只要在构造FileOutputStream对象的时候选择另一种构造方法就可以了
  

  

  

第二个参数就是是否采用追加的方式写入到文本文件中
  

  

java IO字节流详解及实例代码