一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java 實現切割文件和合并文件的功能

java 實現切割文件和合并文件的功能

2020-12-06 14:50LM加強 Java教程

這篇文章主要介紹了java 實現切割文件和合并文件的功能的相關資料,這里實現文件的切割的實現代碼和文件合并的實現代碼,需要的朋友可以參考下

java 實現切割文件合并文件的功能

一、切割文件代碼如下:

需求:將一個媒體文件切割成多個碎片(每個碎片的大小為1M),并添加配置說明文件

          1.創建(指定)一個文件夾,用于保存切割出來的碎片
          2.創建源文件對象,并傳入一個輸入流對象
          3.創建一個緩沖區為1M
          4.創建一個輸入流對象并將源文件對象傳入,創建一個輸出流對象引用
          5.每個緩沖區獲取到碎片時,使用輸出對應流對象寫入到一個新的文件
          6.寫相應的信息到配置文件

實現代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class SplitFileTest {
  public static void main(String[] args) throws IOException {
    /**
     * 需求:將一個媒體文件切割成多個碎片(每個碎片的大小為1M),并添加配置說明文件
     * 1.創建(指定)一個文件夾,用于保存切割出來的碎片
     * 2.創建源文件對象,并傳入一個輸入流對象
     * 3.創建一個緩沖區為1M
     * 4.創建一個輸入流對象并將源文件對象傳入,創建一個輸出流對象引用
     * 5.每個緩沖區獲取到碎片時,使用輸出對應流對象寫入到一個新的文件
     * 6.寫相應的信息到配置文件
     */
    File partDir = new File("F:\\partsDir");
    File src = new File("F:\\周杰倫 - 簡單愛.mp3");
    splitFile(src,partDir);
 
  }
 
  private static void splitFile(File src, File partDir) throws IOException {
    if(!partDir.exists()){
      partDir.mkdirs();
    }
    byte[] buf = new byte[1024*1024];
    FileInputStream fis = new FileInputStream(src);
    FileOutputStream fos = null;
    int len = 0;
    int count = 1;
    while ((len=fis.read(buf)) != -1){
      fos = new FileOutputStream(new File(partDir,"簡單愛-part"+(count++)));
      fos.write(buf,0,len);
      fos.close();
    }
 
    String filename = src.getName();
    int partCount = count;
 
    fos = new FileOutputStream(new File(partDir,count+".properties"));
    //創建一個屬性集。
    Properties prop = new Properties();
     //將配置信息存儲到屬性集中
    prop.setProperty("filename",src.getName());
    prop.setProperty("partCount",Integer.toString(partCount));
 
    //將屬性集中的信息持久化
    prop.store(fos,"part file info");
 
    fos.close();
    fis.close();
  }
}

二、合并文件代碼如下:

需求:使用SequenceInputStream類來合并碎片文件

           1.創建一個list集合,來保存指定文件夾碎片流集合
           2.用集合工具類方法Collections.enumeration()方法將list集合轉換為Enumeration
           3.新建一個SequenceInputStream流對象,并傳入第2步的Enumeration
           4.創建一個輸出流對象,創建緩沖區循環寫第3步SequenceInputStream讀取的內容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class MergeFileTest {
  public static void main(String[] args) throws IOException {
    /**
     * 需求:使用SequenceInputStream類來合并碎片文件
     * 1.創建一個list集合,來保存指定文件夾碎片流集合
     * 2.用集合工具類方法Collections.enumeration()方法將list集合轉換為Enumeration
     * 3.新建一個SequenceInputStream流對象,并傳入第2步的Enumeration
     * 4.創建一個輸出流對象,創建緩沖區循環寫第3步SequenceInputStream讀取的內容
     */
 
    File partDir = new File("F:\\partsDir");
    List<FileInputStream> list = new ArrayList<FileInputStream>();
    for (int i=1;i<12;i++){
      FileInputStream fis = new FileInputStream(new File(partDir,"簡單愛-part"+i));
      list.add(fis);
    }
    Enumeration<FileInputStream> en = Collections.enumeration(list);
    SequenceInputStream sis = new SequenceInputStream(en);
 
    FileOutputStream fos = new FileOutputStream(new File(partDir,"000.mp3"));
 
    byte[] buf = new byte[1024];
    int len = 0;
    while ((len=sis.read(buf)) != -1){
      fos.write(buf,0,len);
    }
 
    fos.close();
    sis.close();
  }
}

以上就是關于java 文件切割和合并的實例詳解,大家如果有疑問可以留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:https://my.oschina.net/daladida/blog/1484032

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 毛片视频网站在线观看 | 精品国产美女AV久久久久 | 娇喘嗯嗯 轻点啊视频福利 九九九九在线精品免费视频 | 成人综合婷婷国产精品久久免费 | 男人天堂a| 97久久精品午夜一区二区 | 日本中文字幕二区三区 | 国产精品对白刺激久久久 | 九九免费精品视频 | 美女又爽又黄免费 | gay帅老头毛都白了 gayxxx视频 | xxxx在线视频| 日韩欧美在线看 | 久久se精品一区二区国产 | 日本人成在线视频免费播放 | 男人与雌性宠物交啪啪小说 | 希岛爱理aⅴ在线中文字幕 午夜综合网 | 男人午夜剧场 | 日本高清中文字幕一区二区三区 | 亚洲精品综合一二三区在线 | 日韩 视频在线播放 | narutotsunade全彩雏田 | 免费看男女污污完整版 | 欧美四虎影院 | 欧美精品国产第一区二区 | 狠狠色| 国产精品林美惠子在线观看 | 女bbbbxxx孕妇 | 国产高清免费在线 | 男女拍拍拍免费视频网站 | 国产免费精彩视频 | 国产成人咱精品视频免费网站 | 天天色视频| avtt天堂网 手机资源 | 国产九九在线观看播放 | 大胸纲手被羞羞漫画网站 | 亚洲性久久久影院 | 白丝校花掀起短裙呻吟小说 | 久久精品麻豆国产天美传媒果冻 | 无遮18禁在线永久免费观看挡 | 国产免费成人在线视频 |