国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 平潭县| 江津市| 沅江市| 色达县| 宁明县| 安塞县| 娱乐| 贵州省| 绍兴市| 内黄县| 辽宁省| 东阿县| 广南县| 霍林郭勒市| 乳山市| 同心县| 驻马店市| 彝良县| 华宁县| 仲巴县| 兴仁县| 东阿县| 弥勒县| 达拉特旗| 大埔区| 漳平市| 山阳县| 五华县| 额尔古纳市| 阳西县| 思南县| 嵩明县| 灵台县| 台南县| 望都县| 张掖市| 邢台市| 延津县| 湘乡市| 扎赉特旗| 东至县|