導航:首頁 > 編程語言 > java批量下載

java批量下載

發布時間:2024-04-13 17:04:03

java 鍙戦佷竴嬈¤鋒眰鑳借繛緇涓嬭澆澶氫釜鏂囦歡鍚楋紵涓嶇敤鍘嬬緝鍖呯殑褰㈠紡

濂藉儚鏄涓嶈兘

㈡ JAVA 如何一次下載多個文件

創建多線程下載
如果說方便下載,是打包再下載
~~~~~~~~~~~~~~~~~~~~~~

㈢ 怎樣編一個能實現文件下載功能的JAVA程序

java實現文件下載
一、採用RequestDispatcher的方式進行

1、web.xml文件中增加
<mime-mapping>
<extension>doc</extension>
<mime-type>application/vnd.ms-word</mime-type>
</mime-mapping>

2、程序如下:

<%@page language="java" import="java.net.*" pageEncoding="gb2312"%>
<%

response.setContentType("application/x-download");//設置為下載application/x-download
String filenamedownload = "/系統解決方案.doc";//即將下載的文件的相對路徑
String filenamedisplay = "系統解決方案.doc";//下載文件時顯示的文件保存名稱
filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");
response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);

try
{
RequestDispatcher dispatcher = application.getRequestDispatcher(filenamedownload);
if(dispatcher != null)
{
dispatcher.forward(request,response);
}
response.flushBuffer();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{

}
%>

二、採用文件流輸出的方式下載

1、web.xml文件中增加
<mime-mapping>
<extension>doc</extension>
<mime-type>application/vnd.ms-word</mime-type>
</mime-mapping>

2、程序如下:

<%@page language="java" contentType="application/x-msdownload" import="java.io.*,java.net.*" pageEncoding="gb2312"%>
<%

//關於文件下載時採用文件流輸出的方式處理:
//加上response.reset(),並且所有的%>後面不要換行,包括最後一個;
//因為Application Server在處理編譯jsp時對於%>和<%之間的內容一般是原樣輸出,而且默認是PrintWriter,
//而你卻要進行流輸出:ServletOutputStream,這樣做相當於試圖在Servlet中使用兩種輸出機制,
//就會發生:getOutputStream() has already been called for this response的錯誤
//詳細請見《More Java Pitfill》一書的第二部分 Web層Item 33:試圖在Servlet中使用兩種輸出機制 270
//而且如果有換行,對於文本文件沒有什麼問題,但是對於其它格式,比如AutoCAD、Word、Excel等文件
//下載下來的文件中就會多出一些換行符0x0d和0x0a,這樣可能導致某些格式的文件無法打開,有些也可以正常打開。

response.reset();//可以加也可以不加
response.setContentType("application/x-download");//設置為下載application/x-download
// /../../退WEB-INF/classes兩級到應用的根目錄下去,注意Tomcat與WebLogic下面這一句得到的路徑不同,WebLogic中路徑最後沒有/
System.out.println(this.getClass().getClassLoader().getResource("/").getPath());
String filenamedownload = this.getClass().getClassLoader().getResource("/").getPath() + "/../../系統解決方案.doc";
String filenamedisplay = "系統解決方案.doc";//系統解決方案.txt
filenamedisplay = URLEncoder.encode(filenamedisplay,"UTF-8");
response.addHeader("Content-Disposition","attachment;filename=" + filenamedisplay);

OutputStream output = null;
FileInputStream fis = null;
try
{
output = response.getOutputStream();
fis = new FileInputStream(filenamedownload);

byte[] b = new byte[1024];
int i = 0;

while((i = fis.read(b)) > 0)
{
output.write(b, 0, i);
}
output.flush();
}
catch(Exception e)
{
System.out.println("Error!");
e.printStackTrace();
}
finally
{
if(fis != null)
{

㈣ java完成批量下載時,壓縮文件怎麼命名

看你的代碼應該下載zip文件,對應的contentType 是application/x-zip-compressed

getResponse().setContentType("application/octet-stream");修改為getResponse().setContentType("application/x-zip-compressed");

㈤ java response.getOutputStream()實現多個文件下載,已經拿到兩個位元組數組的list,下載的時候如何同時下載

可以一個介面傳多個文李模件,每個文件中間用特定符號拆分,也可以寫一渣擾知個介面前端多次調用,將請求頭的文件格式改為blob,前端獲取文件流後如消調用下載

㈥ Java 批量大文件上傳下載如何實現

解決這種大文件上傳不太可能用web上傳的方式,只有自己開發插件或是當門客戶端上傳,或者用現有的ftp等。
1)開發一個web插件。用於上傳文件。
2)開發一個FTP工具,不用web上傳。
3)用現有的FTP工具。
下面是幾款不錯的插件,你可以試試:
1)Jquery的uploadify插件。具體使用。你可以看幫助文檔。

㈦ java使用什麼技術實現excel數據的批量導入導出

java使用第三方工具包POI技術實現excel數據的批量導入導出。

舉例如下:

1、下載apache的相關jar包。poi-ooxml-3.6.jar xmlbeans-2.3.0.jar等,如圖:

2、編寫相關的讀寫類

/**

* 讀取xls文件內容

*/

private
List<XlsDto> readXls() throws
IOException {

InputStream is = new
FileInputStream("test.xls");

HSSFWorkbook hssfWorkbook = new
HSSFWorkbook(is);

XlsDto xlsDto = null;

List<XlsDto> list = new
ArrayList<XlsDto>();

// 循環工作表Sheet

for
(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {

HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);

if
(hssfSheet == null) {

continue;

}

// 循環行Row

for
(int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {

HSSFRow hssfRow = hssfSheet.getRow(rowNum);

if
(hssfRow == null) {

continue;

}

xlsDto = new
XlsDto();

// 循環列Cell

// 0學號 1姓名 2學院 3課程名 4 成績

// for (int cellNum = 0; cellNum <=4; cellNum++) {

HSSFCell xh = hssfRow.getCell(0);

if
(xh == null) {

continue;

}

xlsDto.setXh(getValue(xh));

HSSFCell xm = hssfRow.getCell(1);

if
(xm == null) {

continue;

}

xlsDto.setXm(getValue(xm));

HSSFCell yxsmc = hssfRow.getCell(2);

if
(yxsmc == null) {

continue;

}

xlsDto.setYxsmc(getValue(yxsmc));

HSSFCell kcm = hssfRow.getCell(3);

if
(kcm == null) {

continue;

}

xlsDto.setKcm(getValue(kcm));

HSSFCell cj = hssfRow.getCell(4);

if
(cj == null) {

continue;

}

xlsDto.setCj(Float.parseFloat(getValue(cj)));

list.add(xlsDto);

}

}

return
list;

}

3、導出就是輸入到一個新的excel文件裡面

public void writeXls(List<Student> list, String path) throws Exception {

if (list == null) {原始數據為空,直接返回

return;

}

int countColumnNum = list.size();//設置列數

HSSFWorkbook book = new HSSFWorkbook(); //創建工作表對象

HSSFSheet sheet = book.createSheet("studentSheet");

// 創建第一行

HSSFRow firstRow = sheet.createRow(0);

HSSFCell[] firstCells = new HSSFCell[countColumnNum];

//創建表頭

String[] options = { "no", "name", "age", "score" };

//循環數據域

for (int j = 0; j < options.length; j++) {

firstCells[j] = firstRow.createCell(j);

firstCells[j].setCellValue(new HSSFRichTextString(options[j]));

}

//處理每一個cell的值

for (int i = 0; i < countColumnNum; i++) {

HSSFRow row = sheet.createRow(i + 1);

Student student = list.get(i);

for (int column = 0; column < options.length; column++) {

HSSFCell no = row.createCell(0);

HSSFCell name = row.createCell(1);

HSSFCell age = row.createCell(2);

HSSFCell score = row.createCell(3);

no.setCellValue(student.getNo());

name.setCellValue(student.getName());

age.setCellValue(student.getAge());

score.setCellValue(student.getScore());

}

}

File file = new File(path);

OutputStream os = new FileOutputStream(file);

System.out.println(Common.WRITE_DATA + path);

book.write(os);

os.close();

}

㈧ java批量數據導出多個excel,為什麼老是只生成一個excel文件

java servlet一個請求,只能有一個返回輸出流,所以一次只能下載一個文件。
如果確實需要下載多內個Excel文件,可以容先在本地生成多個Excel文件,然後使用zip壓縮,再通過一個返回輸出流將zip壓縮包返回給客戶端。我也遇到同樣的問題,這個是在別人那搜到的。

閱讀全文

與java批量下載相關的資料

熱點內容
word文字粘貼後有彩色星 瀏覽:1000
蘋果電腦如何只裝win7系統文件夾 瀏覽:703
雲建城201557號文件內容 瀏覽:872
什麼是網路營銷刺激反應戰略 瀏覽:115
大數據線下測試 瀏覽:147
一汽大眾手機互聯app叫什麼 瀏覽:984
大千世界在哪個文件夾 瀏覽:610
cfwpe封包抓取教程 瀏覽:897
哈利波特版本 瀏覽:663
如何從多行列中返回第一列數據 瀏覽:579
一個t的文件能有多少照片 瀏覽:174
安卓qq文件在哪個文件夾里 瀏覽:729
放圖片的文件夾什麼格式 瀏覽:213
win10esp精簡版 瀏覽:865
文件名1688quick 瀏覽:927
del文件是哪個資料庫的 瀏覽:901
java將字元串轉換為整型 瀏覽:175
win7批量修改部分文件名 瀏覽:873
win8需要升級到win10么 瀏覽:85
大數據在海關的運用 瀏覽:38

友情鏈接