一级做a爱片,色站综合,99偷拍视频精品一区二区,亚洲精品色无码AV

當(dāng)前位置:

java認(rèn)證考試專業(yè)語言串講struts2文件上傳的三種方式

發(fā)表時(shí)間:2015/4/9 13:47:22 來源:互聯(lián)網(wǎng) 點(diǎn)擊關(guān)注微信:關(guān)注中大網(wǎng)校微信
關(guān)注公眾號

詳解struts2文件上傳的三種方式

文件上傳幾乎是每個項(xiàng)目實(shí)現(xiàn)的一個必須的模塊。

上傳就是將信息從個人計(jì)算機(jī)(本地計(jì)算機(jī))傳遞到中央計(jì)算機(jī)(遠(yuǎn)程計(jì)算機(jī))系統(tǒng)上,讓網(wǎng)絡(luò)上的人都能看到。將制作好的網(wǎng)頁、文字、圖片等發(fā)布到互聯(lián)網(wǎng)上去,以便讓其他人瀏覽、欣賞。這一過程稱為上傳。

JAVA實(shí)現(xiàn)文件上傳的幾個組件:

1 SmartUpload 用的最多的一個組件,已經(jīng)不再更新了,可以實(shí)現(xiàn)上傳和下載

2 FileUpload Apache實(shí)現(xiàn)的文件上傳組件,功能齊備

3 J2KUpload java2000實(shí)現(xiàn)的文件上傳組件,全部使用內(nèi)存,適合多個不超過10M的小文件

下面具體說說FileUpload Apache實(shí)現(xiàn)的文件上傳組件。

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

Java代碼

public String uploadFile(){

/**保存的具體路徑*/

String savepath = getSavePath();

/**根據(jù)保存的路徑創(chuàng)建file對象*/

File file = new File(savepath);

if(!file.exists()){

/**創(chuàng)建此文件對象路徑*/

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()); ,這個主要是一個文件的實(shí)際路徑

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

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

2、/** 按字節(jié)方式上傳 */

Java代碼

public String uploadFile(){

/** 文件的寫操作 */

FileInputStream fis = null;

FileOutputStream fos = null;

/** 保存的路徑 */

String savepath = getSavePath();

/** 根據(jù)保存的路徑創(chuàng)建file對象 */

File file = new File(savepath);

/** file對象是否存在

*/

if (!file.exists()) {

/** 創(chuàng)建此文件對象路徑 */

file.mkdirs();

}

try {

/** 創(chuàng)建輸入流 */

fis = new FileInputStream(pic);

/** 輸出流 更據(jù)文件的路徑+文件名稱創(chuàng)建文件對象 */

fos = new FileOutputStream(file + "http://" + getPicFileName());

/** 讀取字節(jié)

*/

byte b[] = new byte[1024];

int n = 0;

/** 讀取操作

*/

while ((n = fis.read(b)) != -1) {

/** 寫操作

*/

fos.write(b, 0, n);

}

/** 關(guā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();

/** 根據(jù)保存的路徑創(chuàng)建file對象

*/

File file = new File(savepath);

/** file對象是否存在 */

if (!file.exists()) {

/** 創(chuàng)建此文件對象路徑 */

file.mkdirs();

}

try {

/**

創(chuàng)建一個BufferedReader 對象*/

br = new BufferedReader(new InputStreamReader(new FileInputStream

(pic)));

bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream

(file + "http://" + getPicFileName())));

// 讀取字節(jié)

char b[] = new char[1024];

int n = 0;

// 讀取操作

while ((n = br.read(b)) != -1) {

// 寫操作

bw.write(b, 0, n);

}

// 關(guān)閉操作

if (br != null) {

br.close();

}

if (bw != null) {

bw.close();

}

} catch (Exception e) {

e.printStackTrace();

}

return SUCCESS;

}

備注:

第二種上傳方式?jīng)]有第三種上傳方式效率高。

建議:

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

編輯推薦

java認(rèn)證考試專業(yè)語言串講cookie技術(shù)在J2ME平臺應(yīng)用

java認(rèn)證考試專業(yè)語言串講資料匯總

JAVA認(rèn)證考試報(bào)考指南 / 更多JAVA考試資料

(責(zé)任編輯:xy)

2頁,當(dāng)前第1頁  第一頁  前一頁  下一頁
最近更新 考試動態(tài) 更多>
久久 无码 高清| 国产欧美激情一区二区| 亚洲一区二区 在线| 四虎影库换那个名字了| 三级丰满少妇5| 亚洲久热中文字幕在线| 成人夜色小电影| 91麻豆在日本| 日韩无码影院| 久久久噜噜噜久| 男人吃女人奶黄色网站| 国产福利小视频在线观看| 熟女双飞久久| 国产精品嫩草影院一二三区入口 | 国产日韩欧美久久久| 在线91| 呦呦呦视频导航| 中文字幕无码不卡在线网站| 日韩欧美亚洲一区第一| 国产欧美三级| 日韩影院一区| 黑人巨大精品欧美黑寡妇| 欧美 亚洲精品15| 俏美女精品在线| 国产剧情在线swag| 尤物网址在线观看| 久久99国产视频| 欧美蜜桃熟妇| 中日韩一区| 五十五老熟妇| 日韩激情一区| 视频无码成人| 老司机视频无码高清| 国产精品国色综合久久| 丝袜自摸| 亚洲欧美日韩国产成人一区| 成人最大免费观看视频| 色婷婷福利视频| 一级毛片免费60分钟| 亚洲传媒无码| www.久久久久久久|