编写程序: 使用字节缓冲流加小数组的方式拷贝多媒体文件蓝莲花.mp3。
时间: 2024-12-14 10:14:58 浏览: 10
当你需要使用字节缓冲流(BufferedInputStream)配合小数组(ByteArrayOutputStream)来拷贝多媒体文件,如音乐文件“蓝莲花.mp3”,你可以按照以下步骤编写Java程序:
```java
import java.io.*;
public class CopyMusicFile {
public static void main(String[] args) {
try {
// 读取源文件
FileInputStream fis = new FileInputStream("src/蓝莲花.mp3");
BufferedInputStream bis = new BufferedInputStream(fis);
// 写入目标文件
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024]; // 每次读取的小数组大小可以自定义
int bytesRead;
while ((bytesRead = bis.read(buffer)) != -1) { // 读取直到EOF
baos.write(buffer, 0, bytesRead);
}
bis.close(); // 关闭输入流
FileOutputStream fos = new FileOutputStream("dest/蓝莲花.mp3");
fos.write(baos.toByteArray()); // 将缓冲区内容写入输出流
fos.close(); // 关闭输出流
System.out.println("拷贝完成");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们首先创建`FileInputStream`来读取源文件,然后创建`BufferedInputStream`提高读取速度。接着,我们用`ByteArrayOutputStream`作为临时存储,每次从输入流读取一个小数组,并将其写入到输出流。最后关闭所有相关的输入输出流。
阅读全文