更新時(shí)間:2019-09-11 09:46:32 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2319次
文件切割和文件合并這個(gè)問(wèn)題困擾了不少的Java開(kāi)發(fā)工程師們,不論是剛剛參加Java培訓(xùn)學(xué)習(xí)的小伙伴,還是已經(jīng)進(jìn)入職場(chǎng)的人們,Java實(shí)現(xiàn)文件分割和文件合并的問(wèn)題都會(huì)遇到。本篇文章小編就給讀者們分享一下動(dòng)力節(jié)點(diǎn)Java在線教程講解的Java實(shí)現(xiàn)文件分割和文件合并實(shí)例,希望對(duì)小伙伴能有些許的幫助。
Java在線教程
文件切割器:
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.RandomAccessFile;
importjava.util.Scanner;
publicclassMain{
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException{
FilesourceFile=newFile("ping.mp3");
//System.out.println(sourceFile.exists());
Scannerscanner=newScanner(System.in);
intnumberOfPieces=1;//默認(rèn)文件切割的數(shù)量
System.out.println("Enter:");//提示輸入
numberOfPieces=scanner.nextInt();//輸入
scanner.close();//輸入后就關(guān)閉裝完逼就跑一個(gè)道理
longfileLength=sourceFile.length()/numberOfPieces;//分一下每一個(gè)小文件的大小
byte[]b=newbyte[1024];//這個(gè)不解釋如果看不懂就去看IO流去吧
RandomAccessFileraf1=newRandomAccessFile(sourceFile,"r");
intlen=-1;
for(inti=0;i<numberOfPieces;i++){
Stringname=sourceFile.getName()+"."+(i+1);
Filefile=newFile(name);
file.createNewFile();
RandomAccessFileraf2=newRandomAccessFile(file,"rw");
while((len=raf1.read(b))!=-1){
raf2.write(b,0,len);//我覺(jué)的這樣寫比raf2.write(b);高明一些
if(raf2.length()>fileLength)//如果太大了就不在這個(gè)子文件寫了換下一個(gè)
break;
}
raf2.close();
}
raf1.close();
}
}
文件合并器:
importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.IOException;
importjava.io.RandomAccessFile;
//文件合并ping.n
publicclassMain{
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException{
File[]files=newFile[10];
Stringname="ping.";
Filefile=newFile("ping.mp3");
file.createNewFile();
RandomAccessFilein=newRandomAccessFile(file,"rw");
in.setLength(0);
in.seek(0);
byte[]bytes=newbyte[1024];
intlen=-1;
for(inti=0;i<files.length;i++){
files[i]=newFile(name+(i+1));
//System.out.println(files[i].exists());
RandomAccessFileout=newRandomAccessFile(files[i],"rw");
while((len=out.read(bytes))!=-1){
in.write(bytes,0,len);
}
out.close();
}
in.close();
}
}
文件合并器就不寫注釋了,因?yàn)檫@是一個(gè)逆過(guò)程。以上內(nèi)容是小編簡(jiǎn)單整理的,小伙伴們先了解一下,如果想要了解更多內(nèi)容的話可以登錄動(dòng)力節(jié)點(diǎn)官網(wǎng)查看詳細(xì)信息。
動(dòng)力節(jié)點(diǎn)Java學(xué)習(xí)是專業(yè)的Java培訓(xùn)機(jī)構(gòu),不僅有專業(yè)的老師還有與時(shí)俱進(jìn)的課程體系,只要你想學(xué)好Java,只要你好好跟著老師學(xué)習(xí),那么動(dòng)力節(jié)點(diǎn)就能讓你學(xué)有所成,高薪就業(yè)。想要學(xué)習(xí)Java開(kāi)發(fā)技術(shù)的小伙伴不要再猶豫了,抓緊時(shí)間行動(dòng)吧。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743