首先说一下以http://开头的文件路径分两种情况:1.是网络文件路径,2.是服务器的静态资源文件路径(同D:\\等开头的路径)
如果是第二种的情况的话,就用File类来处理生成文件流即可,不过文件路径的斜线需要转译。
如果是第一种的情况的话,就比较麻烦了不能直接用File类来处理,得需要基于http协议的网络文件下载,直接上代码,此代码是下载到本地文件夹,也可以用红色地方的输入流进行其他处理,在页面实现下载(接口代码在最下面):
public static void main(String[] args) throws IOException {
String sURL = "https://b-ssl.duitang.com/uploads/blog/201312/04/20131204184148_hhXUT.jpeg";
int nStartPos = 0;
int nRead = 0;
String sName = "20131204184148_hhXUT.jpeg";
String sPath = "e:\\temp";
try {
URL url = new URL(sURL);
// 打开连接
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
// 获得文件长度
long nEndPos = getFileSize(sURL);
RandomAccessFile oSavedFile = new RandomAccessFile(sPath + "\\" + sName, "rw");
httpConnection.setRequestProperty("User-Agent", "Internet Explorer");
// 告诉服务器book.rar这个文件从nStartPos字节开始传。如果从头开始可以去掉此部分
// String sProperty = "bytes=" + nStartPos + "-";
// httpConnection.setRequestProperty("RANGE", sProperty);
// System.out.println(sProperty);
&nb