国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

服務器之家 - 編程語言 - Java教程 - Java 使用IO流實現大文件的分割與合并實例詳解

Java 使用IO流實現大文件的分割與合并實例詳解

2020-07-18 13:49java教程網 Java教程

這篇文章主要介紹了Java 使用IO流實現大文件的分割與合并實例詳解的相關資料,需要的朋友可以參考下

Java 使用IO流實現大文件分割合并

文件分割應該算一個比較實用的功能,舉例子說明吧比如說:你有一個3G的文件要從一臺電腦Copy到另一臺電腦, 但是你的存儲設備(比如SD卡)只有1G ,這個時候就可以把這個文件切割成3個1G的文件 ,分開復制, 最后把三個文件合并, 這樣就解決問題了 ;再比如說, 你有一個上百M的文件要上傳到FTP ,但是這個FTP限制你單個文件不能超過10M 這時候也可以用文件分割的辦法解決問題。既然分割了,那么在我們再次使用的時候就需要合并了,今天我們就通過Java代碼實現文件分裂與合并的能。

現在通過演示我本機的一個文件來演示,文件目錄為:E:\eclipse-jee-juno-win32.zip(今天就把大家痛恨的eclipse好好玩一下):

下圖為分割前的情況:

Java 使用IO流實現大文件的分割與合并實例詳解

分割后的情況為:

Java 使用IO流實現大文件的分割與合并實例詳解

Java分割文件的方法:

?
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
//文件分割的方法(方法內傳入要分割的文件路徑以及要分割的份數)
private static void splitFileDemo(File src, int m) {
 if(src.isFile()) {
  //獲取文件的總長度
  long l = src.length();
  //獲取文件名
  String fileName = src.getName().substring(0, src.getName().indexOf("."));
  //獲取文件后綴
  String endName = src.getName().substring(src.getName().lastIndexOf("."));
  System.out.println(endName);
  InputStream in = null;
  try {
   in = new FileInputStream(src);
   for(int i = 1; i <= m; i++) {
    StringBuffer sb = new StringBuffer();
    sb.append(src.getParent()).append("\\").append(fileName)
    .append("_data").append(i).append(endName);
    System.out.println(sb.toString());
    File file2 = new File(sb.toString());
    //創建寫文件的輸出流
    OutputStream out = new FileOutputStream(file2);
    int len = -1;
    byte[] bytes = new byte[10*1024*1024];
    while((len = in.read(bytes))!=-1) {
     out.write(bytes, 0, len);
     if(file2.length() > (l / m)) {
      break;
     }
    }
    out.close();
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
  finally {
   try {
    in.close();
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
 }
}

Java合并文件的方法:

?
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
//文件合并的方法(傳入要合并的文件路徑)
private static void joinFileDemo(String... src) {
 for(int i = 0; i < src.length; i++) {
  File file = new File(src[i]);
  String fileName = file.getName().substring(0, file.getName().indexOf("_"));
  String endName = file.getName().substring(file.getName().lastIndexOf("."));
  StringBuffer sb = new StringBuffer();
  sb.append(file.getParent()).append("\\").append(fileName)
  .append(endName);
  System.out.println(sb.toString());
  try {
   //讀取小文件的輸入流
   InputStream in = new FileInputStream(file);
   //寫入大文件的輸出流
   File file2 = new File(sb.toString());
   OutputStream out = new FileOutputStream(file2,true);
   int len = -1;
   byte[] bytes = new byte[10*1024*1024];
   while((len = in.read(bytes))!=-1) {
    out.write(bytes, 0, len);
   }
   out.close();
   in.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
 System.out.println("文件合并完成!");
}

寫之前覺得挺復雜,寫完之后覺得也就那樣,大家也可以練練手。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/qq_35101189/article/details/53793194

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久草视频 | 中文字幕一区二区三区乱码图片 | 人人爽视频 | 欧美在线免费 | 四虎影院最新地址 | 中文字幕av一区二区三区 | 午夜午夜精品一区二区三区文 | 国产黄色免费网站 | 在线观看视频黄 | 曰批免费视频播放免费 | 日韩不卡一二三 | 精品国产精品三级精品av网址 | 欧美一级片在线 | 日韩中文字幕在线观看视频 | 日本一区二区三区精品视频在线观看 | 桃色视频在线播放 | 亚洲视频免费观看 | 日韩激情一区二区 | 亚洲综合在线视频 | 精品国精品国产自在久不卡 | 国产婷婷色一区二区三区 | 亚洲高清在线观看 | 日韩在线免费视频 | 在线a视频网站 | 欧美午夜精品一区二区三区电影 | 国产一区二区三区免费在线观看 | 欧美日韩综合精品 | 免费观看污污视频 | 亚洲一区二区三区在线播放 | 亚洲三级在线 | 精品一区二区三区中文字幕老牛 | 久久精品伊人 | 日韩精品一区二区三区中文字幕 | 久久成人免费视频 | 在线观看国产精品一区 | 97理论片| 黄色一级网站视频 | 精品国产一区二区三区免费 | 精品国产乱码久久久久久牛牛 | 网站黄色在线观看免费 | 91久久精品国产91久久 |