第05章 JSP與文件操作_第1頁
第05章 JSP與文件操作_第2頁
第05章 JSP與文件操作_第3頁
第05章 JSP與文件操作_第4頁
第05章 JSP與文件操作_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章JSP與文件操作5.1File對象的使用5.2JSP應(yīng)用中的文件操作5.3文件的上傳與下載5.1File對象的使用5.1.1File對象簡介FILE對象主要用于以下兩個方面:(1)文件目錄的操作。(2)文件的操作。 創(chuàng)建一個File對象的語法結(jié)構(gòu)有以下兩種:

FileFile對象變量=newFile("服務(wù)器端的絕對路徑") FileFile對象變量=newFile("服務(wù)器端的絕對路徑","文件名稱")5.1.2文件目錄的操作1.創(chuàng)建文件目錄其語法結(jié)構(gòu)如下:

FileFile對象變量=newFile("服務(wù)器端的絕對路徑");

FileFile對象變量.mkdir();例1.DirCreate.jsp(效果如圖5.1所示)<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.io.*"%><html><body><palign=center><fontsize=4>文件目錄的創(chuàng)建操作</font></p><hr><%StringSubPath=request.getRealPath(“”);

//獲取服務(wù)器端的絕對路徑SubPath=SubPath+"\\Sub";FilecreateSub=newFile(SubPath);

//創(chuàng)建一個文件目錄對象createSubif(createSub.exists()){createSub.delete();out.println("Sub目錄存在,已刪除");}else{createSub.mkdir();

//創(chuàng)建Sub目錄out.println("Sub目錄不存在,已建立");}out.println("創(chuàng)建了一個名為Sub文件目錄<br>");out.println("其在服務(wù)器中的絕對路徑是:");out.println(SubPath);%></body></html>2.判斷目錄文件是否存在

首先建立File對象,再用File對象的exists()方法來判斷文件目錄是否存在。其語法結(jié)構(gòu)如下:

FileFile對象變量=newFile("服務(wù)器端的絕對路徑"); FileFile對象變量.exists();3.刪除文件目錄 其語法結(jié)構(gòu)如下:

FileFile對象變量=newFile("服務(wù)器端的絕對路徑");

FileFile對象變量.delete();例2DirDelete.jsp(效果如圖5.2所示)<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.io.*"%><html><body><palign=center><fontsize=4>文件目錄的刪除操作</font></p><hr><%StringSubPath=request.getRealPath(“”);//獲取服務(wù)器端的絕對路徑,賦值給SubPathSubPath=SubPath+"\\Sub";FiledeleteSub=newFile(SubPath);//建立一個文件目錄對象deleteSubout.println("刪除一個名為Sub文件目錄<br>");out.println("第一步判斷此文件目錄是否存在:");if(deleteSub.exists()){out.println("<br>Sub文件目錄存在。");out.println("<br>其在服務(wù)器的絕對路徑為:");out.println(SubPath);out.println("<br>第二步將存在的Sub文件目錄刪除");deleteSub.delete();//調(diào)用delete方法刪除Sub目錄out.println("<br>Sub文件目錄已經(jīng)刪除。");}%></body></html>5.1.3文件的操作1.文件的建立首先建立文件的File對象,然后,調(diào)用File對象的createNewFile()方法來建立文件。其語法結(jié)構(gòu)如下:FileFile對象變量=newFile("服務(wù)器端的絕對路徑","文件名稱");FileFile對象變量.createNewFile();例3FileCreate.jsp(效果如圖5.3所示)<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.io.*"%><html><body><palign=center><fontsize=3>文件的創(chuàng)建操作</font></p><hr><%StringFilePath=request.getRealPath("");FilecreateFile=newFile(FilePath,"NewFile.txt");if(createFile.exists()){out.println("已經(jīng)存在名為NewFile文件<br>");}else{createFile.createNewFile();out.println("創(chuàng)建了一個名為NewFile文件<br>");out.println("其在服務(wù)器中的絕對路徑是:");out.println(FilePath+"\\"+"NewFile.txt");}%></body></html>2.判斷文件是否存在首先建立文件File對象,再調(diào)用File對象的exists()方法判斷文件是否存在。其語法結(jié)構(gòu)如下:FileFile對象變量=newFile("服務(wù)器端的絕對路徑","文件名稱");FileFile對象變量.exists();3.文件的刪除首先建立文件File對象,再調(diào)用File對象的delete()方法刪除文件。其語法結(jié)構(gòu)如下:FileFile對象變量=newFile("服務(wù)器端的絕對路徑","文件名稱");FileFile對象變量.delete();例4(效果如圖5.4所示)FileDelete.jsp<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.io.*"%><html><body><palign=center><fontsize=4>文件的刪除操作</font></p><hr><%StringFilePath=request.getRealPath("");FiledeleteFile=newFile(FilePath,"NewFile.txt");out.println("刪除一個名為NewFile文件<br>");out.println("第一步判斷此文件是否存在:");if(deleteFile.exists()){out.println("<br>NewFile文件存在。");out.println("<br>其在服務(wù)器的絕對路徑為:");out.println(FilePath);out.println("<br>第二步將存在的NewFile文件刪除");deleteFile.delete();out.println("<br>NewFile文件已經(jīng)刪除。");}else{out.println("<br>NewFile文件不存在。");}%></body></html>4.獲取文件屬性File對象.getName():獲取文件的名字。File對象.canRead():判斷文件是否可讀。File對象.canWrite():判斷文件是否可被寫入。File對象.length():判斷文件的長度(單位是字節(jié))。File對象.getAbsolutePath():獲取文件的絕對路徑。File對象.getParent():獲取文件的父目錄。File對象.isFile():判斷文件是否是一個正常文件,而不是目錄。File對象.isDirectroy():判斷文件是否是一個目錄。File對象.isHidden():判斷文件是否是隱藏文件.File對象.lastModified():獲取文件最后修改的時間(時間是從1970年午夜至文件最后修改時刻的毫秒數(shù))。5.獲取目錄下的文件獲取目錄下的文件,首先需要先建立一個目錄的File對象,再調(diào)用listFiles()方法來獲取目錄下的文件名稱。其語法結(jié)構(gòu)如下:File對象變量.listFiles();例6.GetDirFile.jsp(效果如圖5.6所示)<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.io.*"%><html><head><title>取出目錄中文件的方法--列出目錄中的文件</title></head><body><%Stringpath=request.getRealPath("");Filed=newFile(path);Filelist[]=d.listFiles();out.println("<br><fontcolor=#ff0000>"+path+"目錄下的目錄:</font><br>");for(inti=0;i<list.length;i++){if(list[i].isDirectory()){out.println(list[i].getName()+"<br>");}}out.println("<fontcolor=#ff0000>"+path+"目錄下的文件:</font><br>");for(inti=0;i<list.length;i++){if(list[i].isFile()){out.println(list[i].getName()+"<br>");}}%></body></html>6.獲取特定類型的文件String[]list(FilenameFilterobj);該方法用字符串形式返回目錄下的指定類型的所有文件。File[]listFiles(FilenameFilterobj);該方法用File對象返回目錄下的指定類型的所有文件。其中FilenameFilter是一個接口,該接口有一個方法:accept(Filedir,Stringname);5.2JSP應(yīng)用中的文件操作5.2.1文件中逐個數(shù)據(jù)的讀取文件中數(shù)據(jù)是通過建立一個FileReader對象來進(jìn)行逐個讀取的。FileReaderFileReader對象變量=newFileReader("文件磁盤路徑與文件名稱");建立了FileReader對象之后,通過FileReader的read()方法來讀取文件中的字符,如讀取文件中的某個字符、幾個字符或者全部字符。如果文件沒有字符存在或讀到文件的末尾時,這時read()方法返回的值為?1。read()方法的語法結(jié)構(gòu)如下:

FileReader對象變量.read("字符型數(shù)組",開始讀取的位置,讀取的字符個數(shù)); FileReader對象還提供了一種方法skip(),該方法可以使得用戶可以跳過一些字符不進(jìn)行讀取。其語法結(jié)構(gòu)如下: FileReader對象.skip("要跳過的不讀取的字符的數(shù)目"); 當(dāng)FileReader對象的任務(wù)完成后,需要關(guān)閉FileReader對象,調(diào)用close()方法。其語法結(jié)構(gòu)如下:FileReader對象變量.close();5.2.2文件中以行為單位的數(shù)據(jù)讀取JSP頁面中,文件中以行為單位進(jìn)行的數(shù)據(jù)讀取是通過建立一個BufferedReader對象來實(shí)現(xiàn)的。其語法結(jié)構(gòu)如下:BufferedReaderBufferedReader對象變量=newBufferedReader(FileReader對象變量);建立FileReader對象之后,通過BufferedReader對象的readLine()方法來讀取文件中的整行字符,如讀取文件中的某行字符、幾行字符或全部字符。如果文件中沒有數(shù)據(jù)或讀到文件最后,這時readLine()方法返回的結(jié)果為null。readLine()方法的語法結(jié)構(gòu)如下:BufferedReader對象變量.readLine();當(dāng)BufferedReader對象的任務(wù)完成后,需要關(guān)閉BufferedReader對象。調(diào)用close()方法來實(shí)現(xiàn)。其語法結(jié)構(gòu)如下:BufferedReader對象變量.close();例9.FileReadbyLine.jsp<%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.io.*"%><html><head><title>文件讀取</title></head><body><%Stringpath=request.getRealPath("\\");FileReaderfr=newFileReader(path+"\\FileCreate.txt");BufferedReaderbr=newBufferedReader(fr);StringLine=br.readLine();while(Line!=null){out.println(Line+"<br>");Line=br.readLine();}br.close();fr.close();%></body></html>5.2.3無分行數(shù)據(jù)寫入在JSP頁面中,數(shù)據(jù)無分行寫入是通過建立一個FileWriter對象來完成的。其語法結(jié)構(gòu)如下:FileWriterFileWriter對象變量=newFileWriter("文件磁盤路徑與文件名稱"); 建立FileWriter對象之后,通過FileReader對象的write()方法來將數(shù)據(jù)寫入文件中。其語法結(jié)構(gòu)如下幾種:(1)FileWriter對象變量.write(字符);(2)FileWriter對象變量.write(字符數(shù)組);(3)FileWriter對象變量.write(字符數(shù)組,起始位置,寫入的字符數(shù));(4)FileWriter對象變量.write(字符串);5.2.4分行數(shù)據(jù)寫入數(shù)據(jù)分行寫入文件的newLine()方法語法結(jié)構(gòu)如下:

BufferedWriter對象變量.newLine();Write()方法語法機(jī)構(gòu)也有以下幾種:(1)BufferedWriter對象變量.write(字符);(2)BufferedWriter對象變量.write(字符數(shù)組);(3)BufferedWriter對象變量.write(字符數(shù)組,起始位置,寫入的字符數(shù));(4)B

溫馨提示

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

最新文檔

評論

0/150

提交評論