當前位置:首頁 » 編程語言 » javahttp文件下載

javahttp文件下載

發布時間: 2022-04-30 17:52:56

A. java,http下載文件

http是流傳輸,一次請求中你是不能將流截斷的,如果想做到你說的只有兩種形式:
1、就是你使用的方式,多段讀取(其實就是斷點續傳的原理),多個請求,每個請求請求一部分,如果你覺得效率低可以從兩方面優化:
(1)不要用URLConnecion,而使用HttpClient之類的工具包進行請求
(2)使用多線程並發請求,其實就是斷點續傳了,迅雷就是幾個線程一起下嘛
2、只請求一次,請求全部的,將全部流緩存到內存中(byte[]),然後根據你的需要分段截取,寫入文件

B. java里http伺服器如何將文件製成一個下載路徑

/**
*文件下載
*/
@RequestMapping("/downloadfile")
(StringresStr,HttpServletResponseresponse){
PrintWriterpw=null;
StringBuffersb=newStringBuffer();

try{
StringfileName="文件名";
response.setCharacterEncoding("UTF-8");
response.setContentType("application/x-msdownload");
response.addHeader("Cache-Control","no-cache,no-store,must-revalidate");
response.addHeader("charset","utf-8");
response.addHeader("Pragma","no-cache");
response.setHeader("Content-Disposition","attachment;filename=""+fileName+"";filename*=utf-8''"+fileName);
sb.append(resStr);
pw=response.getWriter();
pw.write(sb.toString());
pw.close();
response.flushBuffer();
}catch(IOExceptione){
logger.info("下載文件出錯");
e.printStackTrace();
if(pw!=null){
pw.close();
}
}finally{
if(pw!=null){
pw.close();
}
}
}

resStr 欄位傳寫入文件里的內容

C. 用JAVA下載HTTP文件時遇到問題

importjava.net.*;
importjava.io.*;
publicclassURLConnectionDemo{
publicstaticvoidmain(String[]args)throwsException{
URLurl=newURL("http://www.scp.e.cn/pantoschoolzz/BG/Bord/Message/DownloadMessageAttachment.aspx?ID=215");
URLConnectionuc=url.openConnection();
StringfileName=uc.getHeaderField(6);
fileName=URLDecoder.decode(fileName.substring(fileName.indexOf("filename=")+9),"UTF-8");
System.out.println("文件名為:"+fileName);
System.out.println("文件大小:"+(uc.getContentLength()/1024)+"KB");
Stringpath="D:"+File.separator+fileName;
FileOutputStreamos=newFileOutputStream(path);
InputStreamis=uc.getInputStream();
byte[]b=newbyte[1024];
intlen=0;
while((len=is.read(b))!=-1){
os.write(b,0,len);
}
os.close();
is.close();
System.out.println("下載成功,文件保存在:"+path);
}
}

//給你一個下載的例子吧,僅供參考。

D. java 獲得http下載文件的真實名稱

有兩種獲取鏈接文件名的方法:

第一種:從連接URL,從描述中獲取

比如這種地址:

http://book.booktxt.com/txtbuk/20130421/xuanhuan/2013043601180.rar

E. 請Java大牛幫忙,關於HTTP文件下載,功能可以實現,但是下載後總是有個別文件不能被刪除.


importjava.io.*;
importjava.net.*;
importjava.util.Scanner;


publicclassTest{
privatestaticStringfileName="http://localhost/file/1.jpg";
publicstaticvoidmain(Stringargs[])throwsException{
URLurl=newURL(fileName);
URLConnectionuc=url.openConnection();
uc.connect();
HttpURLConnectionhuc=(HttpURLConnection)uc;
if(huc.getResponseCode()!=HttpURLConnection.HTTP_OK){
//判斷是否成功連接到http,如果不能連接則返回
System.out.println("can'tconnect");
return;
}

Filef=newFile("D://text.jpg");//把文件復制到D盤的text.jpg中
InputStreamin=(uc.getInputStream());//打開輸入流
byte[]data=newbyte[1024*10];
intl=in.read(data);
if(!f.exists())f.createNewFile();
FileOutputStreamout=newFileOutputStream(f);
while(l!=-1){
out.write(data,0,l);
l=in.read(data);
}
out.flush();
out.close();
System.out.println("OK");
}
}

自己把源地址修改下

F. java如何將本地文件返回給對方一個下載鏈接(http方式下載)

根據http協議來做,
響應的時候 Content-Type 類型進行設置,當然你需要對外提供這個介面,將需要下載的本地文件以流的形式傳輸

G. Java編寫程序,用於下載HTTP伺服器上的某個文件

發送http請求,獲得二進制流,然後用outputstream輸出成對應文件格式就行了

H. 怎樣通過java實現伺服器上文件下載

用HttpClient(commons httpclient)包,模擬一個Get請求,發送到網址172.16.30.230/文件地址。這個文件地址不能是E/Map/123.txt,必須是暴露在伺服器中的應用里的。就像你寫的應用里的一個jsp頁面的目錄。
成功發送get請求後,就會得到response,裡面有流。就是你下載的文件,然後可以通過FileOutputStream,指定你輸出目錄,寫到磁碟上。

I. 用Java HTTP下載文件獲取失敗,不明原因

你先得從頭裡面讀取文件大小啊,然後你再設置需要下載文件的Range啊,再者byte[]這要設置成1啊,這是一個位元組,不是1k,設置大一些,別太小了,要不你用buffer就沒有意義了

J. java怎樣讀取http文件伺服器上的文件列表並下載

把要下載的文件名存在資料庫中,載入頁面通過servlet或者action或者採用javaBean讀取資料庫數據,然後遍歷出來,再通過servlet或者action的outputstream下載即可

熱點內容
切換ftp 發布:2025-07-13 18:29:07 瀏覽:737
銳龍哪個配置最高畫質 發布:2025-07-13 18:22:34 瀏覽:196
壓縮機工作原理圖 發布:2025-07-13 18:10:15 瀏覽:39
黑暗追求者安卓怎麼聯機 發布:2025-07-13 18:10:07 瀏覽:617
北大保安自學編程 發布:2025-07-13 18:09:58 瀏覽:858
java遞歸排列 發布:2025-07-13 18:02:43 瀏覽:473
輕量雲伺服器如何換成d盤 發布:2025-07-13 17:58:45 瀏覽:931
重置騰訊雲伺服器時間 發布:2025-07-13 17:54:55 瀏覽:326
aes256java加密 發布:2025-07-13 17:54:46 瀏覽:710
mc開伺服器的電腦 發布:2025-07-13 17:46:47 瀏覽:195