當前位置:首頁 » 編程語言 » 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下載即可

熱點內容
手機優酷緩存視頻格式 發布:2025-05-15 04:13:45 瀏覽:209
公益電影分鏡頭腳本插畫 發布:2025-05-15 04:08:37 瀏覽:960
數據壓縮編碼 發布:2025-05-15 03:58:44 瀏覽:725
java字元為空 發布:2025-05-15 03:57:11 瀏覽:546
速訊安卓哪裡下載 發布:2025-05-15 03:55:02 瀏覽:48
緩存區數據讀寫原理 發布:2025-05-15 03:39:57 瀏覽:585
編譯器生成的是二進制文件嗎 發布:2025-05-15 03:38:42 瀏覽:955
運營為什麼區分ios和安卓 發布:2025-05-15 03:30:02 瀏覽:630
主播網站源碼 發布:2025-05-15 02:50:56 瀏覽:168
中文編程語言有哪些 發布:2025-05-15 02:48:59 瀏覽:536