国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java實現(xiàn)文件分割和文件合并實例

2020-01-31 16:50:12
字體:
供稿:網(wǎng)友

文件切割和文件合并這個問題困擾了我有一段時間了(超過一天沒做粗來)。

找了好多博客,本來想轉(zhuǎn)載一個來的 結(jié)果找不到了。很無奈。

只好自己貼代碼上了。

當(dāng)然我會盡力好好寫注釋的。

文件切割器:

import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;import java.util.Scanner;public class Main { public static void main(String[] args) throws FileNotFoundException, IOException {  File sourceFile = new File("ping.mp3");//  System.out.println(sourceFile.exists());  Scanner scanner = new Scanner(System.in);  int numberOfPieces = 1;  //默認(rèn)文件切割的數(shù)量  System.out.println("Enter:");  //提示輸入  numberOfPieces = scanner.nextInt();  //輸入  scanner.close();  //輸入后就關(guān)閉 裝完逼就跑一個道理  long fileLength = sourceFile.length() / numberOfPieces;  //分一下每一個小文件的大小  byte[] b = new byte[1024];  //這個不解釋 如果看不懂 就去看IO流去吧  RandomAccessFile raf1 = new RandomAccessFile(sourceFile, "r");    int len = -1;  for(int i = 0; i < numberOfPieces; i++) {   String name = sourceFile.getName() + "." + (i+1);   File file = new File(name);   file.createNewFile();   RandomAccessFile raf2 = new RandomAccessFile(file, "rw");   while((len = raf1.read(b)) != -1) {    raf2.write(b, 0, len);  //我覺的這樣寫比raf2.write(b);高明一些    if(raf2.length() > fileLength)  //如果太大了就不在這個子文件寫了 換下一個     break;   }   raf2.close();  }  raf1.close(); }}

文件合并器:

import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.io.RandomAccessFile;//文件合并 ping.npublic class Main { public static void main(String[] args) throws FileNotFoundException, IOException {  File[] files = new File[10];  String name = "ping.";  File file = new File("ping.mp3");  file.createNewFile();  RandomAccessFile in = new RandomAccessFile(file, "rw");  in.setLength(0);  in.seek(0);  byte[] bytes = new byte[1024];  int len = -1;  for(int i = 0; i < files.length; i++) {   files[i] = new File(name + (i + 1));   //System.out.println(files[i].exists());   RandomAccessFile out = new RandomAccessFile(files[i], "rw");   while((len = out.read(bytes)) != -1) {    in.write(bytes, 0, len);   }   out.close();  }  in.close(); }}

文件合并器就不寫注釋了,因為這是一個逆過程。(懶癌附體)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 广水市| 余江县| 绥宁县| 历史| 上林县| 温宿县| 康平县| 隆子县| 泾阳县| 石楼县| 泸州市| 鄄城县| 红河县| 娄烦县| 蒙自县| 陇南市| 丰台区| 博野县| 安西县| 晴隆县| 凉城县| 明水县| 法库县| 遵义市| 河南省| 夹江县| 宁海县| 昌宁县| 旅游| 溧水县| 龙门县| 舒城县| 龙川县| 佛冈县| 黄山市| 双鸭山市| 大荔县| 蓝山县| 廊坊市| 林口县| 屯昌县|