字节流
字节流分为字节输出流和字节输入流。可以对文本文档等文件操作
字节输出流
字节输出流英文为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("\r\n你好啊".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 }