日期:2014-05-20  浏览次数:20782 次

文件分割出了点问题 大家帮忙下
public   void   file_cute()
{
String   filesize;
File   ffile=new   File(text.getText());//这里是我得到上面浏览按钮传到一个文本框里的路径和文件名
String   fpath=ffile.getParent();
String   fname=ffile.getName();
long   sfilelength=0;
byte[]   buffer=null;

if(combox.getSelectedIndex()==0)//index从0开始
{
//JOptionPane.showMessageDialog(null, "1 ", "1 ",1);
sfilelength=Long.valueOf(256*1024);
buffer=new   byte[256*1024];
}
else   if(combox.getSelectedIndex()==1)
{
sfilelength=Long.valueOf(512*1024);
buffer=new   byte[512*1024];
//JOptionPane.showMessageDialog(null, "2 ", "2 ",1);
}
else   if(combox.getSelectedIndex()==2)
{
sfilelength=Long.valueOf(1024*1024);
buffer=new   byte[1024*1024];
}


long   fnumber=(ffile.length())/sfilelength;
if((fnumber*sfilelength)!=ffile.length());
{
fnumber++;
}
try
{

for(int   i=0;i <fnumber;i++)
{

RandomAccessFile   fffile=new   RandomAccessFile(ffile, "r ");
int   fbuffer=fffile.read(buffer);

File   sfile=new   File(fpath,fname+ "_ "+Integer.toString(i));
RandomAccessFile   wfile=new   RandomAccessFile(sfile, "rw ");
wfile.write(buffer,0,fbuffer);
fffile.close();
wfile.close();
}
}
catch(FileNotFoundException   e1)
{
}
catch(IOException   e2)
{
}

}

大家帮我看看 我这个功能实现有问题

我按256kb分割文件,每次都最后一个文件也照样是256kb  原来的文件大小不是256kb的倍数
我对randomaccessfile里的读取有点疑问,我感觉我写的有问题,懂的朋友对上面我写的randomaccessfile的函数read(byte[])和wite(byte[]   int   int)指点错误或者写个例子说明下

------解决方案--------------------
呵呵