首先要知道,电脑上的上面的文件,在进行读取和存储的时候,都是以流的形式进行操作的,那么什么是流呢?下面做出大概解释:一组数据有序排列,从一个地方,移到另外一个地方,成为流。
所谓IO流,既输入(input )输出流(output )。
下面再补充一下缓存的概念:所谓缓存,可以简单理解为流中的一个工具。打个比方,把一堆砖头从一个地方搬到另一个地方,可以用手一块一块的搬,来回跑;也可以用一辆车,装一车运到地方再回去运。
这个情境下,这辆车就可以理解为缓存对象,其目的是加快搬运速度的。
通过上面所述,我想大家对流和缓存也有一定的概念了,下面我们搂一眼代码层面是怎么实现的:
//准备文件对象
File file = new File("D:/A_jar/mysql-connector-java-5.1.47.jar");
//创建输入流对象
FileInputStream fis = new FileInputStream(file);
//创建输入缓存器对象
BufferedInputStream bis = new BufferedInputStream(fis);
//创建输出缓存器对象//和上面步骤一样,简写一下
BufferedOutputStream bos =
new BufferedOutputStream(
new FileOutputStream("C:/Users/zhu/Desktop/test.jar"));
//准备缓存数组
//我们使用的是字节流,所以需要创建字节类型数组
byte[] buf = new byte[4 * 1024] ;//数字只是缓存器的大小,可以自己调节
int length;
while((length = bis.read(buf) ) != -1){
bos.write(buf,0,length);
}
//关闭资源//先开后关
bis.close();
fis.close();
bos.close();
上述演示的是一个字节流,把文件"D:/A_jar/mysql-connector-java-5.1.47.jar"复制到桌面上
打字太累了,不懂得私聊我,上述内容纯个人手工编写,如有雷同,纯属诬陷