参考 :
https://segmentfault.com/q/1010000005674127
方法一
import java.io.FileOutputStream;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
public class DowloadUtil {
public static void main(String[] args) throws Exception {
URL website = new URL("https://www.baidu.com/123.mp4");
ReadableByteChannel rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream("F:/mp4/1.mp4");//例如:test.txt
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
}
}
方法二
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
public class getFile {
public static void downloadFile(String remoteFilePath, String localFilePath) {
URL urlfile = null;
HttpURLConnection httpUrl = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File f = new File(localFilePath);
try {
urlfile = new URL(remoteFilePath);
httpUrl = (HttpURLConnection) urlfile.openConnection();
httpUrl.connect();
bis = new BufferedInputStream(httpUrl.getInputStream());
bos = new BufferedOutputStream(new FileOutputStream(f));
int len = 2048;
byte[] b = new byte[len];
while ((len = bis.read(b)) != -1) {
bos.write(b, 0, len);
}
System.out.println("上传成功");
bos.flush();
bis.close();
httpUrl.disconnect();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
bis.close();
bos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws Exception {
long t1 = System.currentTimeMillis();
String remoteFilePath = "https://www.baidu.com/123.mp";
String localFilePath = "F:/mp4/1.mp4";
downloadFile(remoteFilePath, localFilePath);
System.err.println(System.currentTimeMillis() - t1);
}
}
END。