import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class DivisionTest
{
public static String SUFFIX=".xx";
public static String[] divide(String fileName,int size) throws Exception{ File srcFile=new File(fileName); if (!srcFile.exists()||(!srcFile.isFile()))
{
System.out.println("文件不存在或不是文件");
}
File Parent=srcFile.getParentFile();
int begin=0;
long end=0;
long length=srcFile.length();
if (size<0)
{
size=(int)length/2;
}
int num=(length%size!=0)?(int)(length/size+1):(int)(length/size); FileInputStream in=new FileInputStream(srcFile);
String[] fileNames=new String[num];
for (int i=0;i<num ;i++ )
{
File outFile=new File(Parent.getName()+i+SUFFIX);
FileOutputStream ou=new FileOutputStream(outFile);
end+=size;
end=(end>length)?length:end;
for (;begin<end ;begin++ )
    {
                ou.write(in.read());
    }
ou.close();
fileNames[i]=outFile.getAbsolutePath();
}
in.close();
return fileNames; }
public static void main(String[] args)throws Exception {
String fileName="TASKMAN.EXE";
int size=1000;
String[] fileNames=DivisionTest.divide(fileName,size);
for (int i=0;i<fileNames.length;i++)
{
System.out.println(fileNames[i]);
}
}
}