利用字节流缓冲拷贝一个MP3文件

时间:2022-02-16 21:00:27
package cn.zen.io.bytestream;

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

import org.junit.Test;

public class BufferedSteam {
	
	/**
	 * copy mp3
	 */
	@Test
	public void method1() {

		BufferedInputStream bfis = null;
		BufferedOutputStream bfos = null;

		try {
			bfis = new BufferedInputStream(new FileInputStream("C:\\1.mp3"));
			bfos = new BufferedOutputStream(new FileOutputStream("C:\\copy1.mp3"));

			byte[] buf = new byte[1024];
			int len = 0;
			while ((len = bfis.read(buf)) != -1) {
				bfos.write(buf, 0, len);
			}
		} catch (Exception e) {
			throw new RuntimeException("拷贝失败:" + e);
		} finally {
			try {
				if (bfis != null) {
					bfis.close();
				}
			} catch (Exception e) {
				throw new RuntimeException("关闭字节缓冲读取流失败" + e.toString());
			}
			try {
				if (bfos != null) {
					bfos.close();
				}
			} catch (Exception e) {
				throw new RuntimeException("关闭字节缓冲写入流失败" + e.toString());
			}
		}
	}
}