一级做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)注公眾號(hào)

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

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

上傳就是將信息從個(gè)人計(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)文件上傳的幾個(gè)組件:

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

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

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

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

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

Java代碼

public String uploadFile(){

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

String savepath = getSavePath();

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

File file = new File(savepath);

if(!file.exists()){

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

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

2、我個(gè)人認(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對(duì)象 */

File file = new File(savepath);

/** file對(duì)象是否存在

*/

if (!file.exists()) {

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

file.mkdirs();

}

try {

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

fis = new FileInputStream(pic);

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

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對(duì)象

*/

File file = new File(savepath);

/** file對(duì)象是否存在 */

if (!file.exists()) {

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

file.mkdirs();

}

try {

/**

創(chuàng)建一個(gè)BufferedReader 對(duì)象*/

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平臺(tái)應(yīng)用

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

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

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

2頁,當(dāng)前第1頁  第一頁  前一頁  下一頁
最近更新 考試動(dòng)態(tài) 更多>
日韩中文一区在线| 亚洲黄片久久久久久久| 亚洲字幕日韩一区二区| 亚洲无套| 黄 片 成 人 片 免费| 视频一区 夜夜| 男女一进一出免费视频| 天天爽夜夜爽人人爽一区二区| AV无毒在线播放| 四虎影手机在线| 无码日韩高清| 久艹精品视频在线| 欧美丝袜乱| 国产足交在线| 国产在线综合视频| 在线日韩av| 乱伦精品一级片| 欧美色吧老妇| 色噜噜狠狠色综合久久| 亚洲国产日韩欧美高清片| 蜜臀视频国产精品免费| 久久综合色鬼久久| 五月丁香成人激情| 日日骚日日骚| а√天堂中文在线资源bt种子 | 性感人妻在线综合| 最近中文字幕在线mv视频7| 叉开腿让我插视频| 东京热狠狠爱| 亚洲成AV人片在线观看无下载| 丁香五月77| 日韩欧美亚洲丝袜一区| av无码精品| 插插我.av| 综合5月激情网| 在线无码视频观看草草视频| 欧美一二区三区| 天天操夜夜操欧美| 国产麻豆果冻传媒| 亚洲AV洲一区| 国产天堂网|