IO字节流

字节流

  字节流分为字节输出流和字节输入流。可以对文本文档等文件操作

字节输出流

  字节输出流英文为OutputStream,它可以在文件夹里创建文件,如果命名文件名相同,则会默认覆盖;以字节的形式写入文件。

  主要方法:

    write():以字节形式写入

  FileOutputStream类:

    是OutputStream的子类,文件输出流,将数据写入 File的输出流。

  应用示例:

    1.字节写入

1 FileOutputStream fos=new FileOutputStream("D:\demo0723\z.txt",true);
2             //写入一个字节
3             fos.write(100);
4             byte[] bytes={66,67,68,69};
5             fos.write(bytes,1,2);
6             fos.write("
你好啊".getBytes());    
7             //释放资源
8             fos.close();    

  因为存入的是字节 所以存入汉字时需要转型。

   

字节输入流

  字节输入流英文为IntputStream,是将文件内容以字节形式读取出来。

  主要方法:

    read():以字节形式读出

  FileInputStream:

    从文件系统中的某个文件中获得输入字节。

  应用示例:

    1.字节读出

1 FileInputStream fis=new FileInputStream("D:\demo0723\z.txt");
2         //一个字节一个字节读
3         int len=0;
4         while((len=fis.read())!=-1){
5             System.out.println((char)len);
6         }    
7         //释放资源
8         fis.close();
9     }

    2.数组读出

 1 // 明确数据源
 2 FileInputStream fis=new FileInputStream("D:\demo0723\z.txt");
 3         //创建字节数组
 4         byte[] bytes=new byte[2];
 5         //一个字节数组一个字节数组读
 6         int len=0;
 7         while((len=fis.read(bytes))!=-1){
 8             System.out.println(new String(bytes,0,len));
 9         }
10         //释放资源
11         fis.close();
12     }

  我们在进行文件复制的时候,就可以将以上两个流同时使用,先读取在写入。

  下面我们将以字节读取方式进行复制:

 1 // 明确数据源
 2         FileInputStream fis=new FileInputStream("D:\demo0723\z.txt");
 3         //明确目的地
 4         FileOutputStream fos = new FileOutputStream("D:\demo0723\b\z.txt");
 5         //开始复制
 6         int len =0;
 7         while((len=fis.read())!=-1){
 8             fos.write(len);
 9         }
10         //释放资源
11         fis.close();
12         fos.close();
13     }
原文地址:https://www.cnblogs.com/zhai113/p/11719137.html