定义小数组的标准格式
- A:案例演示
-
字节流一次读写一个字节数组复制图片和视频
FileInputStream fis = new FileInputStream("致青春.mp3"); FileOutputStream fos = new FileOutputStream("copy.mp3"); int len; //自定义字节数组 byte[] arr = new byte[1024 * 8]; while((len = fis.read(arr)) != -1) { //写出字节数组写出有效个字节个数 fos.write(arr, 0, len); } fis.close(); fos.close();
-
package com.heima.stream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class Demo07_ArrayCopy {
/**
* @param 第三种拷贝/定义小数组
* @throws IOException
*/
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("致青春.mp3");
FileOutputStream fos = new FileOutputStream("copy.mp3");
//字节数组一般定义为1024的整数倍,因为计算器中的进制是1024(2^10).
byte[] arr = new byte[1024 * 8];
int len;
//如果忘记加arr,返回的就不是读取的字节个数,而是字节的码表值
//分析: 拿文本的内容是abc的xxx.txt来说.
//fis.read(),第一次读到a,即97. => fos.write(arr,0,97),写了97个空字节(0).
//fis.read(),第一次读到b,即98. => fos.write(arr,0,98),写了98个空字节(0).
//fis.read(),第一次读到c,即99. => fos.write(arr,0,99),写了99个空字节(0).
//得到的文件就是297个空字节的文件.
while((len = fis.read(arr)) != -1) {
fos.write(arr,0,len);
}
fis.close();
fos.close();
}
}