黑马程序员技术交流社区
标题:
今天老师讲了分割文件,觉得很有意思,补了注释,分享。
[打印本页]
作者:
张迁
时间:
2013-5-20 22:36
标题:
今天老师讲了分割文件,觉得很有意思,补了注释,分享。
package cn.itcast.exercise;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class Exercise5 {
public static void main(String[] args) throws IOException {
File file = new File("C:/半岛铁盒.mp3"); //给文件创建对象
cut (file); //调用方法切割文件
}
public static void cut (File file) throws IOException {
long length = file.length() / 5 + 1; //规定分割的每个文件的大小,分成五块
File newfile = new File (file.getParent(),".temp"); //在要分割文件目录下创建文件夹对象
newfile.mkdir(); //创建文件夹
BufferedInputStream bis = new BufferedInputStream (new FileInputStream (file)); //定义输入流,对于音频文件使用字节流进行读写。字符流只能处理纯文本文件。
for (int i = 0; i < 5 ; i ++) { //循环五次,分割成5个文件
try ( BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(new File (newfile,i + ""))); //定义输出流。jdk1.7新特性,实现了Closeable接口的类使用try(){}格式不用关闭流。
){
for (int j = 0; j <length; j++){ //规定循环次数
int s = bis.read(); //按字节读取文件
if (s == -1) //读到文件结尾,跳出循环
break;
bos.write(s); //按字节写文件
}
}
}
bis.close(); //关闭输入流。
file.delete(); //删除之前必须关闭流。
newfile.renameTo(file); //虽然文件被删除了,但是文件对象还在,可以用它来改名。
}
}
复制代码
作者:
韩秀山
时间:
2013-5-20 22:42
顶一个!!我使用分割, 玩了一下午。呵呵!!!!
作者:
张林敏
时间:
2013-5-21 12:38
不错,顶一个.....
作者:
袁梦希
时间:
2013-5-21 12:42
分享的不错 继续努力 加油兄弟
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2