91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

struts2文件上傳采用的三種方式分別是什么

發布時間:2022-01-11 10:11:18 來源:億速云 閱讀:177 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關struts2文件上傳采用的三種方式分別是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

文件上傳幾乎是每個項目實現的一個必須的模塊。

上傳就是將信息從個人計算機(本地計算機)傳遞到中央計算機(遠程計算機)系統上,讓網絡上的人都能看到。將制作好的網頁、文字、圖片等發布到互聯網上去,以便讓其他人瀏覽、欣賞。這一過程稱為上傳。

JAVA實現文件上傳的幾個組件:

1 SmartUpload 用的最多的一個組件,已經不再更新了,可以實現上傳和下載

2 FileUpload Apache實現的文件上傳組件,功能齊備

3 J2KUpload java2000實現的文件上傳組件,全部使用內存,適合多個不超過10M的小文件

下面具體說說FileUpload Apache實現的文件上傳組件。

1、/** 按copy方式上傳 */

Java代碼

public String uploadFile(){         /**保存的具體路徑*/        String savepath = getSavePath();         /**根據保存的路徑創建file對象*/        File file = new File(savepath);         if(!file.exists()){             /**創建此文件對象路徑*/            file.mkdirs();         }         try {             /**使用的是:org.apache.commons.io.FileUtils FileUtils*/            FileUtils.copyFile(pic, new File(file,getPicFileName()));         } catch (IOException e) {             e.printStackTrace();         }         return SUCCESS;     }

備注:

1、getSavePath()方法中,ServletActionContext().getServletContext().getRealPath

(savePath+"\\"+getPicFileName()); ,這個主要是一個文件的實際路徑

2、我個人認為這種方式是簡單易用的。按copy方式上傳使用的是Apache公司的

org.apache.commons.io.FileUtils包里的FileUtils.java。

2、/** 按字節方式上傳 */

Java代碼

public String uploadFile(){              /** 文件的寫操作 */          FileInputStream fis = null;          FileOutputStream fos = null;             /** 保存的路徑 */        String savepath = getSavePath();         /** 根據保存的路徑創建file對象 */        File file = new File(savepath);         /** file對象是否存在   */        if (!file.exists()) {             /** 創建此文件對象路徑  */            file.mkdirs();         }         try {             /** 創建輸入流 */            fis = new FileInputStream(pic);             /** 輸出流 更據文件的路徑+文件名稱創建文件對象 */            fos = new FileOutputStream(file + "//" + getPicFileName());             /** 讀取字節   */            byte b[] = new byte[1024];             int n = 0;             /** 讀取操作   */            while ((n = fis.read(b)) != -1) {                 /** 寫操作   */                fos.write(b, 0, n);             }             /** 關閉操作  */            if (fis != null) {                 fis.close();             }             if (fos != null) {                 fos.close();             }         } catch (Exception e) {             e.printStackTrace();         }         return SUCCESS;     }

3、/** 按字符方式上傳 即“三層管道” */

Java代碼

public String uploadFile(){         /** 文件的寫操作 */        BufferedReader br =null;         BufferedWriter bw = null;            /** 保存的路徑 */        String savepath = getSavePath();         /** 根據保存的路徑創建file對象   */        File file = new File(savepath);         /** file對象是否存在  */        if (!file.exists()) {                        /** 創建此文件對象路徑  */            file.mkdirs();         }         try {             /**   創建一個BufferedReader  對象*/            br = new BufferedReader(new InputStreamReader(new FileInputStream         (pic)));                         bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream         (file + "//" + getPicFileName())));                              // 讀取字節             char b[] = new char[1024];             int n = 0;             // 讀取操作             while ((n = br.read(b)) != -1) {                 // 寫操作                 bw.write(b, 0, n);             }             // 關閉操作             if (br != null) {                 br.close();             }             if (bw != null) {                 bw.close();             }         } catch (Exception e) {             e.printStackTrace();         }         return SUCCESS;     }

備注:

第二種上傳方式沒有第三種上傳方式效率高。

建議:

首先用第一種方式上傳,次之使用第三種方式上傳,最后再使用第二種方式上傳。

以上就是struts2文件上傳采用的三種方式分別是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

会同县| 贵州省| 正蓝旗| 朝阳区| 营山县| 吴堡县| 六盘水市| 海门市| 前郭尔| 潮安县| 栾城县| 九江县| 历史| 花垣县| 沽源县| 孙吴县| 富顺县| 金昌市| 图片| 佛教| 宜兴市| 呼伦贝尔市| 米易县| 温州市| 扶余县| 乐亭县| 桑植县| 郑州市| 中宁县| 马尔康县| 乐陵市| 洪泽县| 临泽县| 富阳市| 嘉兴市| 安顺市| 稷山县| 罗田县| 策勒县| 翁牛特旗| 漳州市|