java實(shí)現(xiàn)文件上傳下載_第1頁(yè)
java實(shí)現(xiàn)文件上傳下載_第2頁(yè)
java實(shí)現(xiàn)文件上傳下載_第3頁(yè)
java實(shí)現(xiàn)文件上傳下載_第4頁(yè)
java實(shí)現(xiàn)文件上傳下載_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、tomcat 上傳文件下載文件首先介紹一下我們需要的環(huán)境:我用的是myeclipse8.5的java開發(fā)環(huán)境,tomcat是用的apache-tomcat-6.0.26這個(gè)版本。首先先需要準(zhǔn)備一下使用到的fiflcomnnons-fileupload-1.2.1Jar國(guó)commons-io-l.3.2.jar由commonS-logging-1.0.4.jarfefreemarker-23.15jarejpogn|-273jair寶struts2-core-2,18jar由xwork-core-2dr6jar這些jar包是struts2的jar包。這些jar包是都是用于上傳文件的。注意:這里的

2、jar包版本必須是對(duì)應(yīng)的,如不是可能會(huì)tomcat下報(bào)錯(cuò)。所以大家最好注意一下啊。最好是用這套jar包。我將會(huì)在csdn上將項(xiàng)目jar包發(fā)上去。Jar下載地址(0分):http: 葉MicirosoftWord確認(rèn),而且數(shù)據(jù)都對(duì)。文件下載:為區(qū)別開下載的類型下載區(qū)分為文件、圖片、視頻、音頻、四類。定義文件讀寫的常用方法:packagefile.download;importjava.io.File;importjava.io.FileOutputStream;查看文件是否在:盅tcrmtat上傳文件下載文件-副本(2J.doc叵傳攵件下載文件副本,d8就 Wmat 上傳文件下解文件-副本(4,

3、doc101KB101KB101KBimportjava.io.IOException;importjava.io.InputStream;importjava.io.OutputStream;publicclassFileUtils/*計(jì)算機(jī)目錄*/privateStringSDPATH;publicStringgetSDPATH()returnSDPATH;publicFileUtils(Stringpath)得到當(dāng)前外部存儲(chǔ)設(shè)備的目錄/SDCARDthis.SDPATH=path;/*在SD卡上創(chuàng)建文件*throwsIOException*/publicFilecreatSDFile(S

4、tringfileName)throwsIOExceptionFilefile=newFile(SDPATH+fileName);file.createNewFile();returnfile;*paramdirName*/publicFilecreatSDDir(StringdirName)Filedir=newFile(SDPATH+dirName);dir.mkdirs();returndir;/*/*在SD卡上創(chuàng)建目錄*判斷SD卡上的文件夾是否存在*/publicbooleanisFileExist(StringfileName)Filefile=newFile(SDPATH+file

5、Name);returnfile.exists();/*將一個(gè)InputStream里面的數(shù)據(jù)寫入到SD卡中*/publicFilewrite2SDFromInput(Stringpath,StringfileName,InputStreaminput)Filefile=null;OutputStreamoutput=null;trycreatSDDir(path);file=creatSDFile(path+fileName);output=newFileOutputStream(file);bytebuffer=newbyte1;while(input.read(buffer)!=-1)o

6、utput.write(buffer);output.flush();catch(Exceptione)e.printStackTrace();finallytryoutput.close();catch(Exceptione)e.printStackTrace();returnfile;實(shí)現(xiàn)下載的工具類packagefile.download;importjava.io.BufferedReader;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamR

7、eader;.HttpURLConnection;.MalformedURLException;.URL;publicclassHttpDownloadUtilprivateStringpath=null;privateURLurl=null;publicHttpDownloadUtil(Stringpath)super();this.path=path;/*根據(jù)URL下載文件,前提是這個(gè)文件當(dāng)中的內(nèi)容是文本,函數(shù)的返回值就是文件當(dāng)中的內(nèi)容* 1.創(chuàng)建一個(gè)URL對(duì)象* 2.通過URL對(duì)象,創(chuàng)建一個(gè)HttpURLConnection對(duì)象* 3.得到InputStram* 4.從InputStre

8、am當(dāng)中讀取數(shù)據(jù)* paramurlStr* return* /publicStringdownload(StringurlStr)StringBuffersb=newStringBuffer();Stringline=null;BufferedReaderbuffer=null;try/創(chuàng)建一個(gè)URL對(duì)象url=newURL(urlStr);/創(chuàng)建一個(gè)Http連接HttpURLConnectionurlConn=(HttpURLConnection)url.openConnection();使用IO流讀取數(shù)據(jù)buffer=newBufferedReader(newInputStreamRea

9、der(urlConn.getInputStream();while(line=buffer.readLine()!=null)sb.append(line);)catch(Exceptione)e.printStackTrace();finallytrybuffer.close();catch(Exceptione)e.printStackTrace();returnsb.toString();/*該函數(shù)返回整形-1:代表下載文件出錯(cuò)0:代表下載文件成功1:代表文件已經(jīng)存在*/publicintdownFile(StringurlStr,Stringpath,StringfileName)I

10、nputStreaminputStream=null;tryFileUtilsfileUtils=newFileUtils(this.path);if(fileUtils.isFileExist(path+fileName)return1;elseinputStream=getInputStreamFromUrl(urlStr);FileresultFile=fileUtils.write2SDFromInput(path,fileName,inputStream);if(resultFile=null)return-1;catch(Exceptione)e.printStackTrace()

11、;return-1;finallytryinputStream.close();catch(Exceptione)e.printStackTrace();return0;/*根據(jù)URL得到輸入流*paramurlStrreturnthrowsMalformedURLExceptionthrowsIOException*/publicInputStreamgetInputStreamFromUrl(StringurlStr)throwsMalformedURLException,IOExceptionurl=newURL(urlStr);HttpURLConnectionurlConn=(Htt

12、pURLConnection)url.openConnection();InputStreaminputStream=urlConn.getInputStream();returninputStream;實(shí)現(xiàn)下載分類的助手類:packagefile.download;publicclassHttpDownloaderpublicbooleandownloadOther(Stringurl)Stringphonepath=download/returnthis.down(phonepath,url);/*privateStringpath;/*parampath計(jì)算機(jī)路徑*/publicHttp

13、Downloader(Stringpath)super();this.path=path;publicStringgetUrl()returnurl;publicthisvoidsetUrl(Stringurl).url=url;privateStringurl;獲取文件名稱以及文件類型parampathandnamereturn*/privateStringgetFileName(Stringpathandname)intstart=pathandname.trim().lastIndexOf(/);intend=pathandname.lastIndexOf();if(start!=-1&

14、amp;end!=-1)returnpathandname.substring(start+1,end);elsereturnnull;/*paramphonepath*paramurl*return*/privatebooleandown(Stringphonepath,Stringurl)HttpDownloadUtilhdutil=newHttpDownloadUtil(this.path);/獲取文件名稱和類型Stringfilename=getFileName(url);intresult=hdutil.downFile(url,phonepath,filename);if(resu

15、lt=0)returntrue;elseif(result=1)System.out.println(文件已存在!);returnfalse;下載測(cè)試:首先用瀏覽器訪問這張圖片瀏覽區(qū)確認(rèn)可以訪問到下載測(cè)試packagefile.download.test;第一步:將tomcat里放入一張圖片我們用我們上傳的文件路徑然后新建一個(gè)文件夾叫做images放進(jìn)一張圖片T|計(jì)算機(jī)*D(D:)卜afache-tomcat-S,0.26卜webappsFuploadFiles,images包含至薛甲扶享劉眠刃燈片S!錄第二件夫帥M.jpgimportfile.download.HttpDownloader;publicclassDownloadTest/*paramargs*/publicstaticvoidmain(String口args)/下載儲(chǔ)存路徑Stringpath=c:UsersytznDesktop/下載地址Stringhttp:/localhost:8888/up

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論