字节流的小结

本文深入探讨了字节流的基本概念,包括输入流和输出流的区别,以及字节输入流的具体实现方式。重点介绍了FileInputStream和BufferedInputStream两种常见字节输入流的使用方法,演示了如何利用这些流进行文件的复制操作。

字节流的小结

在这里插入图片描述
在字节流的中经常使用的就是图中所示。

1.何为输入流?何为输出流?
在这里插入图片描述
站在程序的角度看待输入流、输出流。
输出流:从程序中到文件的即为输出流
输入流:从文件到程序即为输入流

2.字节输入流
字节输入流的抽象基类:InputStream(就是所有字节输入流的爸爸,因为自身是抽象类,所以无法实现具体的方法没需要靠子类),常用的子类包含FileInputStream、BufferedInputStream.
(1)FileInputStream
主要通过read(),read(byte[]),read(byte[],int begin,int len)三种方法读取字节。
注意点1: 用 .read()方法时 值为-1 即为遍历完成
注意点2: 可以用byte[] b = new byte[1024] 数组 .read(b) 这样一次便能输入1024个字节,速率大大提升,1024值可以自行改变。
注意点3: len=bis.read(b) 所读取到的是有效字节数。

package com.dream.io;

import java.io.FileInputStream;

import java.io.FileOutputStream;

public class Copy {

public static void main(String[] args) throws Exception {
/**
 * 利用文件字节输入输出流进行复制
 */
	
FileInputStream fis = new FileInputStream("test.txt");
FileOutputStream fos = new FileOutputStream("copy.txt");

//中间变量
int read;
while((read = fis.read()) != -1){
	fos.write(read);
}
fos.close();
fis.close();
}

}

2)BufferedInputstream(缓冲字节输入流)
使用和InputStream大同小异,只不过加了一个缓冲区,使得效率更加的高。
package com.dream.io2;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

/**

  • 利用缓冲字节流 对文件进行拷贝
  • @author Administrator

*/
public class Copy {
public static void main(String[] args) throws Exception {
//1.创建流对象
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(“飞龙在天.avi”));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(“你是傻吊.avi”));

 //2.传输数据
 int len;
 //一次传送1024个字节 使用的是write()
 //创建byte数组
 byte[] b = new byte[1024];
 //len=bis.read(b) 所读取到的是有效字节数
 
 while((len = bis.read(b)) !=-1){
	 //bos.write(b); 就会每次读取1024 而不是有效字节数 从而产生错误
	 bos.write(b, 0, len);
 }
 //3.关闭流
 bis.close();
 bos.close();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值