字节流:
1、字节流读取数据需创建FileInputStream(路径)对象
2、字节流写入数据需创建FileOutputStream(路径)对象
FileInputStream fis = new FileInputStream("c:\\xx\\xx");
FileOutputStream bos = new FileOutputStream("d:\\xx\\xx");
\\ 定义一个int类型变量用于记录每次读取的字节byte
int b;
\\ 使用while循环读取写入
\\ b等于每次读取的字节,未读取到字节则跳出循环,未读取到字节为-1
while((b=fis.rede())!=-1){
bos.write(b);
}
\\ .close释放资源
fis.close();
fos.close();
字节缓冲流:
1、字节缓冲流需先创建BufferedInputStream(File对象)对象
2、字节缓冲流需先创建bufferedOutputStream(File对象)对象
3、字节缓冲流底层默认创建了一个8192长度的数组用于储存字节
BufferedInputstream bis = new BufferedInputStream(new FileInputStream("c:\\xx\\xx"))
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\xx\\x"))
\\ 定义一个int类型b用于内存中倒手
int b;
while((b=bis.rede())!=-1){
bos.write(b)
}
bis.close();
bis.close();
用缓冲流(数组)来读取字符,当装满8129个字节时,进入内存,循环将每个字节导手到写入缓冲流。内存运行速度较快,能大大提升效率。
—————————————————————————————————————————————————————————————
缓冲流+数组(终极):
BufferedInputStream bis = new BufferedInputStream("c:\\xx\\xx")
BufferedOutputStream bos = new BufferedOutputStream("d:\\xx\\xx")
\\ 定义一个数组长度为1024用于内存倒手
int [] bytes = new byte[1024]
\\ 定义len用于记录写入多少字符
int len;
\\ len当前等于从bytes读取出的字符长度
while ((len = bis.rede(bytes))!=-1){
// write写入传入数组,从索引0开始,到len有效长度结束
bos.write(bytes,0,len);
}
bis.close();
bos.close();
将导手变量改为数组,每次导手字节为1024的数组,大大提升导手运行效率