package com.IO_Practice;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class SpiltDemo
{
public static void main(String[] args) throws Exception
{
FileInputStream fis = new FileInputStream("D:"+File.separator +"javaTest"+File.separator +"psb.jpg");
BufferedInputStream bis = new BufferedInputStream(fis);
BufferedOutputStream bos = null;
FileOutputStream fos = null;
byte data[] = new byte[1024*10];
int length = 0;//这里定义了一个length
int part = 1;
while( (length = bis.read(data)) != -1)
{
fos = new FileOutputStream("D:"+File.separator +"javaTest"+File.separator +(part++)+".part");
bos = new BufferedOutputStream(fos);
bos.write(data,0,data.length);//这里写的却是data.length,都怪定义变量没原则,没回避导致,找了很久,才发现这,就是搞乌龙。
}
bis.close();
bos.close();
}
}
可能是上夜班,眼睛太酸,刚发完贴,没多久发现问题所在,搞乌龙了,粗心了一把,我说怎么会多出几K,会不行呢,发现问题后,都不好意思回帖了,怕笑话。
感谢!!!
|