import java.io.*;
public class TestSplit {
/**
* @param args
*/
public static void main(String[] args)throws IOException {
// TODO Auto-generated method stub
FileInputStream fis=new FileInputStream("f:\\mp3\\火力全开.mp3");
FileOutputStream fiw=null;
byte[] b=new byte[1024*1024];//定义一个1M的数组
int len=0;
int count=0;
while((len=fis.read(b))!=-1)//这里有一个疑问,当len不等于-1的时候,这个时候的判断不是对fis这个文件的判断是否已经读完,这里为什么会自动进行分割呢
//当这个数组装满的时候,不是自动又把读到的字节替换前面的字节吗?
{
fiw=new FileOutputStream("f:\\"+(count++)+".part");
fiw.write(b, 0, len);
fiw.close();
}
fis.close();
}
}
在这里一下迷糊了,不知道这是如何自动创建多个文件的(在我的理解中,不是只会创建一个文件的吗?因为只要不把fis这个文件读完,是一直在循环体中运行啊)
|