版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quá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對象來進行逐個讀取的。FileReaderFileReader對象變量=newFileReader("文件磁盤路徑與文件名稱");建立了FileReader對象之后,通過FileReader的read()方法來讀取文件中的字符,如讀取文件中的某個字符、幾個字符或者全部字符。如果文件沒有字符存在或讀到文件的末尾時,這時read()方法返回的值為?1。read()方法的語法結(jié)構(gòu)如下:
FileReader對象變量.read("字符型數(shù)組",開始讀取的位置,讀取的字符個數(shù)); FileReader對象還提供了一種方法skip(),該方法可以使得用戶可以跳過一些字符不進行讀取。其語法結(jié)構(gòu)如下: FileReader對象.skip("要跳過的不讀取的字符的數(shù)目"); 當FileReader對象的任務(wù)完成后,需要關(guān)閉FileReader對象,調(diào)用close()方法。其語法結(jié)構(gòu)如下:FileReader對象變量.close();5.2.2文件中以行為單位的數(shù)據(jù)讀取JSP頁面中,文件中以行為單位進行的數(shù)據(jù)讀取是通過建立一個BufferedReader對象來實現(xiàn)的。其語法結(jié)構(gòu)如下:BufferedReaderBufferedReader對象變量=newBufferedReader(FileReader對象變量);建立FileReader對象之后,通過BufferedReader對象的readLine()方法來讀取文件中的整行字符,如讀取文件中的某行字符、幾行字符或全部字符。如果文件中沒有數(shù)據(jù)或讀到文件最后,這時readLine()方法返回的結(jié)果為null。readLine()方法的語法結(jié)構(gòu)如下:BufferedReader對象變量.readLine();當BufferedReader對象的任務(wù)完成后,需要關(guān)閉BufferedReader對象。調(diào)用close()方法來實現(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()方法語法機構(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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 粉撲收納架市場發(fā)展前景分析及供需格局研究預測報告
- 口琴產(chǎn)業(yè)鏈招商引資的調(diào)研報告
- 天然氣輸送結(jié)構(gòu)的建造行業(yè)相關(guān)項目經(jīng)營管理報告
- 剪貼集產(chǎn)品供應(yīng)鏈分析
- 大學或?qū)W院教育行業(yè)市場調(diào)研分析報告
- 寶石分級行業(yè)營銷策略方案
- 廁所除臭劑產(chǎn)品供應(yīng)鏈分析
- 石油專用泥漿泵項目運營指導方案
- 縫紉用剪刀項目運營指導方案
- 電動軌道照明設(shè)備項目運營指導方案
- 單位消防安全評估
- 醫(yī)生職業(yè)素養(yǎng)的提升與培訓
- 作業(yè)設(shè)計案例研討活動方案
- 員工拒絕購買社保的全文協(xié)議
- 電氣自動化職業(yè)生涯規(guī)劃報告書
- GB/T 43476-2023水生態(tài)健康評價技術(shù)指南
- 地形地貌對分布式光伏效率影響分析
- 團員干部培訓課件
- 寺院義工培訓課件
- 小學健康體育知識講座
- 財務(wù)用發(fā)票分割單原始憑證 發(fā)票分割單范本
評論
0/150
提交評論