您好,登錄后才能下訂單哦!
RandomAccessFile raf=new RandomAccessFile(文件對象,讀寫模式);r只讀,rw讀和寫
private File f;
//目的地
private String dir;
//所有分割后的文件存儲路徑
private List<String> list;
//每塊大小
private int blockSize;
//塊數
private int size;
public n(File f,String dir,int blockSize)
{
this.f=f;
this.dir=dir;
this.blockSize=blockSize;
this.list=new ArrayList<String>;
}
//初始化
private void init()
{
//總長度
long len=this.f.length();
//塊數
this.size=(int)Math.ceil(len*1.0/blockSize);
//路徑:
for(int i=0;i<size;i++)
{
this.list.add(this.dir+i+this.f.getName());
}
}
//分割:計算每一塊的起始位置及大小
public void split()
{
}
public void t3(int i,int first,int real) throws IOException
{
RandomAccessFile raf=new RandomAccessFile(this.f,"r");
RandomAccessFile raf2=new RandomAccessFile(this.list.get(i),"rw");
raf.seek(first);//從第二個位置開始
byte[] flush=new byte[1024];
int len=-1;
while((len=raf.read(flush))!=-1)
{
if(real>1024)
{
raf2.write(flush,0,len);
real-=1024;
}else
{
raf2.write(flush,0,real);
break; //讀取指定大小,讀完退出
}
raf2.close();
raf.close();
}
}
public static void main(String[]args)
{
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。