java IO 字节流的使用
来源:互联网 发布:校园打铃软件 编辑:程序博客网 时间:2024/06/06 00:16
之前学习到的字符流可以处理字符数据,但是对于其他类型的数据就无能为力了,比如想要复制MP3文件怎么办呢?这个时候需要使用的是字节流类来处理。在API当中找到了两大类:InputStream、OutputStream,这是所有字节输入/输入流的所有类的超类。至于其具体使用方法,和字符流的做法是一样的,在此不复述。
在这里通过实现复制MP3文件的四种方法来体现字节流的具体使用方法:
/** * @Title: byteStreamDemo.java * @Package byteStream * @author Shaw * @date 2014年12月22日 下午8:16:34 * @version V1.0 */package byteStream;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/** * @ClassName: byteStreamDemo * @Description: TODO(尝试字节流复制文件的四种方法) * @author Shaw * @date 2014年12月22日 下午8:16:34 * */public class byteStreamDemo {/** * @Title: main * @Description: TODO(尝试字节流复制文件的四种方法) * @param @param args 设定文件 * @return void 返回类型 * @throws IOException */public static void main(String[] args) throws IOException {// TODO Auto-generated method stubcopy_1();copy_2();copy_3();copy_4();}private static void copy_4() throws IOException {//最不要用的方法,电脑会死机的FileInputStream fis = new FileInputStream("WangFei.mp3");FileOutputStream fos = new FileOutputStream("WangFei_copy4.mp3");int ch = 0;while ((ch = fis.read())!= -1) {fos.write(ch);//bops.flush();}fos.close();fis.close();}private static void copy_3() throws IOException {// 自定义一个刚刚好一次读完的缓冲区,一次性读取完毕//不建议使用,当需要复制的文件比较大的时候不合适FileInputStream fis = new FileInputStream("WangFei.mp3");FileOutputStream fos = new FileOutputStream("WangFei_copy3.mp3");byte[] buf = new byte[fis.available()];fis.read(buf);fos.write(buf);fos.close();fis.close();}private static void copy_2() throws IOException {// 使用缓冲区类,一个一个读;速度还好FileInputStream fis = new FileInputStream("WangFei.mp3");BufferedInputStream bips = new BufferedInputStream(fis);FileOutputStream fos = new FileOutputStream("WangFei_copy2.mp3");BufferedOutputStream bops = new BufferedOutputStream(fos);int ch = 0;while ((ch = bips.read())!= -1) {bops.write(ch);//bops.flush();}bops.close();bips.close();}public static void copy_1() throws IOException {// 自定义缓冲区,建议使用FileInputStream fis = new FileInputStream("WangFei.mp3");FileOutputStream fos = new FileOutputStream("WangFei_copy.mp3");byte[] buf = new byte[1024];int len = 0;while ((len = fis.read(buf))!= -1) {fos.write(buf,0,len);fos.flush();}fis.close();fos.close();}}
0 0
- java IO 字节流的使用
- IO 字节流的使用
- IO-字节流的使用
- Java IO流之字节流的使用
- JAVA IO :使用带缓冲的字节流读写数据
- java IO 三(字节流的使用)
- Java IO 字符流 和 字节 的使用
- 使用java的IO字节流拷贝图片
- JAVA IO使用高速缓冲区的字节流复制文件
- Java IO 字节流
- java IO字节流
- 【Java】IO字节流
- Java IO字节流
- IO流中字节流的使用
- Java IO字节输出流的总结
- Java的IO之字节流(stream)
- java.io的字节流总结
- java的IO之字节流
- magento 后台取产品自定义的select(下拉菜单)字段
- 关于easyui的窗口和tab页面不执行js说明
- WebService学习笔记
- 【剑指Offer面试编程题】题目1369:字符串的排列--九度OJ
- Java递归打印文件(夹)路径【Java学习笔记】
- java IO 字节流的使用
- 怎样搜索百度网盘的资料
- JPA实体关联关系映射之概述
- 科研日记-2014.12.22
- spark hive 问题,纠结
- 小结
- Android Fragment完全解析,关于碎片你所需知道的一切
- 获取系统铃声选择表并播放选择的
- 第十六周 项目二 用指针玩转字符串(统计单词个数)