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

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

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

服務器之家 - 編程語言 - Java教程 - Java 從網上下載文件的幾種方式實例代碼詳解

Java 從網上下載文件的幾種方式實例代碼詳解

2020-12-22 15:31Java之家 Java教程

本文通過實例代碼給大家介紹了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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.github.pandafang.tool;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import java.nio.channels.ReadableByteChannel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import org.apache.commons.io.FileUtils;
/**
 * 文件工具類
 * @author panda fang
 * @date 2017-08-26
 * @version 1.0
 */
public class FileTool {
  /**
   * 使用傳統io stream 下載文件
   * @param url
   * @param saveDir
   * @param fileName
   */
  public static void download(String url, String saveDir, String fileName) {
    BufferedOutputStream bos = null;
    InputStream is = null;
    try {
      byte[] buff = new byte[8192];
      is = new URL(url).openStream();
      File file = new File(saveDir, fileName);
      file.getParentFile().mkdirs();
      bos = new BufferedOutputStream(new FileOutputStream(file));
      int count = 0;
      while ( (count = is.read(buff)) != -1) {
        bos.write(buff, 0, count);
      }
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    finally {
      if (is != null) {
        try {
          is.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
      if (bos != null) {
        try {
          bos.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }
  /**
   * 利用 commonio 庫下載文件,依賴Apache Common IO ,官網 https://commons.apache.org/proper/commons-io/
   * @param url
   * @param saveDir
   * @param fileName
   */
  public static void downloadByApacheCommonIO(String url, String saveDir, String fileName) {
    try {
      FileUtils.copyURLToFile(new URL(url), new File(saveDir, fileName));
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
  /**
   * 使用NIO下載文件, 需要 jdk 1.4+
   * @param url
   * @param saveDir
   * @param fileName
   */
  public static void downloadByNIO(String url, String saveDir, String fileName) {
    ReadableByteChannel rbc = null;
    FileOutputStream fos = null;
    FileChannel foutc = null;
    try {
      rbc = Channels.newChannel(new URL(url).openStream());
      File file = new File(saveDir, fileName);
      file.getParentFile().mkdirs();
      fos = new FileOutputStream(file);
      foutc = fos.getChannel();
      foutc.transferFrom(rbc, 0, Long.MAX_VALUE);
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (rbc != null) {
        try {
          rbc.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
      if (foutc != null) {
        try {
          foutc.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    }
  }
  /**
   * 使用NIO下載文件, 需要 jdk 1.7+
   * @param url
   * @param saveDir
   * @param fileName
   */
  public static void downloadByNIO2(String url, String saveDir, String fileName) {
    try (InputStream ins = new URL(url).openStream()) {
      Path target = Paths.get(saveDir, fileName);
      Files.createDirectories(target.getParent());
      Files.copy(ins, target, StandardCopyOption.REPLACE_EXISTING);
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}

下載一個百度logo 測試一下

?
1
2
3
4
public static void main(String[] args) {
   FileTool.downloadByNIO2("http://www.baidu.com/img/bd_logo1.png", "/home/panda/picture", "baidu_logo.png");
   System.out.println("done...");
 }

總結

以上所述是小編給大家介紹的Java 從網上下載文件的幾種方式實例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久伊人中文字幕 | 国产成人精品亚洲日本在线观看 | 午夜国产 | 在线视频一区二区 | 久久久国产精品免费观看 | 亚洲第一成年人视频 | 不卡在线一区 | 久久人爽 | 青青草视频在线免费观看 | 九色国产| av三级在线观看 | 日本一区二区三区四区 | 国产精品免费看片 | 国产精品视频免费看 | 精品一区二区不卡 | 亚洲在线播放 | 国内精品一区二区三区视频 | 精品中文字幕一区二区三区av | 成人日日夜夜 | 国产一级黄片毛片 | a毛片视频网站 | 国产精品免费久久久久影视 | av亚洲在线| 日韩五码 | 不卡久久 | chinese国产一区二区 | 国产综合在线观看视频 | 男人的天堂视频网站 | 91久久国产综合久久 | 艹艹网 | 婷婷91| 综合网日韩 | 日本少妇一区二区三区 | 成人高清网站 | 天天操天天拍 | 成人三级视频 | 激情六月婷 | 黄色影视 | 九一视频在线免费观看 | 欧美日韩精品久久久 | 精品人成 |