版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第5章JSP與文件操作5.1File對(duì)象的使用5.2JSP應(yīng)用中的文件操作5.3文件的上傳與下載5.1File對(duì)象的使用5.1.1File對(duì)象簡(jiǎn)介FILE對(duì)象主要用于以下兩個(gè)方面:(1)文件目錄的操作。(2)文件的操作。 創(chuàng)建一個(gè)File對(duì)象的語(yǔ)法結(jié)構(gòu)有以下兩種:
FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑") FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑","文件名稱")5.1.2文件目錄的操作1.創(chuàng)建文件目錄其語(yǔ)法結(jié)構(gòu)如下:
FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑");
FileFile對(duì)象變量.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ù)器端的絕對(duì)路徑SubPath=SubPath+"\\Sub";FilecreateSub=newFile(SubPath);
//創(chuàng)建一個(gè)文件目錄對(duì)象createSubif(createSub.exists()){createSub.delete();out.println("Sub目錄存在,已刪除");}else{createSub.mkdir();
//創(chuàng)建Sub目錄out.println("Sub目錄不存在,已建立");}out.println("創(chuàng)建了一個(gè)名為Sub文件目錄<br>");out.println("其在服務(wù)器中的絕對(duì)路徑是:");out.println(SubPath);%></body></html>2.判斷目錄文件是否存在
首先建立File對(duì)象,再用File對(duì)象的exists()方法來(lái)判斷文件目錄是否存在。其語(yǔ)法結(jié)構(gòu)如下:
FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑"); FileFile對(duì)象變量.exists();3.刪除文件目錄 其語(yǔ)法結(jié)構(gòu)如下:
FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑");
FileFile對(duì)象變量.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ù)器端的絕對(duì)路徑,賦值給SubPathSubPath=SubPath+"\\Sub";FiledeleteSub=newFile(SubPath);//建立一個(gè)文件目錄對(duì)象deleteSubout.println("刪除一個(gè)名為Sub文件目錄<br>");out.println("第一步判斷此文件目錄是否存在:");if(deleteSub.exists()){out.println("<br>Sub文件目錄存在。");out.println("<br>其在服務(wù)器的絕對(duì)路徑為:");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對(duì)象,然后,調(diào)用File對(duì)象的createNewFile()方法來(lái)建立文件。其語(yǔ)法結(jié)構(gòu)如下:FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑","文件名稱");FileFile對(duì)象變量.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)建了一個(gè)名為NewFile文件<br>");out.println("其在服務(wù)器中的絕對(duì)路徑是:");out.println(FilePath+"\\"+"NewFile.txt");}%></body></html>2.判斷文件是否存在首先建立文件File對(duì)象,再調(diào)用File對(duì)象的exists()方法判斷文件是否存在。其語(yǔ)法結(jié)構(gòu)如下:FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑","文件名稱");FileFile對(duì)象變量.exists();3.文件的刪除首先建立文件File對(duì)象,再調(diào)用File對(duì)象的delete()方法刪除文件。其語(yǔ)法結(jié)構(gòu)如下:FileFile對(duì)象變量=newFile("服務(wù)器端的絕對(duì)路徑","文件名稱");FileFile對(duì)象變量.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("刪除一個(gè)名為NewFile文件<br>");out.println("第一步判斷此文件是否存在:");if(deleteFile.exists()){out.println("<br>NewFile文件存在。");out.println("<br>其在服務(wù)器的絕對(duì)路徑為:");out.println(FilePath);out.println("<br>第二步將存在的NewFile文件刪除");deleteFile.delete();out.println("<br>NewFile文件已經(jīng)刪除。");}else{out.println("<br>NewFile文件不存在。");}%></body></html>4.獲取文件屬性File對(duì)象.getName():獲取文件的名字。File對(duì)象.canRead():判斷文件是否可讀。File對(duì)象.canWrite():判斷文件是否可被寫(xiě)入。File對(duì)象.length():判斷文件的長(zhǎng)度(單位是字節(jié))。File對(duì)象.getAbsolutePath():獲取文件的絕對(duì)路徑。File對(duì)象.getParent():獲取文件的父目錄。File對(duì)象.isFile():判斷文件是否是一個(gè)正常文件,而不是目錄。File對(duì)象.isDirectroy():判斷文件是否是一個(gè)目錄。File對(duì)象.isHidden():判斷文件是否是隱藏文件.File對(duì)象.lastModified():獲取文件最后修改的時(shí)間(時(shí)間是從1970年午夜至文件最后修改時(shí)刻的毫秒數(shù))。5.獲取目錄下的文件獲取目錄下的文件,首先需要先建立一個(gè)目錄的File對(duì)象,再調(diào)用listFiles()方法來(lái)獲取目錄下的文件名稱。其語(yǔ)法結(jié)構(gòu)如下:File對(duì)象變量.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對(duì)象返回目錄下的指定類型的所有文件。其中FilenameFilter是一個(gè)接口,該接口有一個(gè)方法:accept(Filedir,Stringname);5.2JSP應(yīng)用中的文件操作5.2.1文件中逐個(gè)數(shù)據(jù)的讀取文件中數(shù)據(jù)是通過(guò)建立一個(gè)FileReader對(duì)象來(lái)進(jìn)行逐個(gè)讀取的。FileReaderFileReader對(duì)象變量=newFileReader("文件磁盤(pán)路徑與文件名稱");建立了FileReader對(duì)象之后,通過(guò)FileReader的read()方法來(lái)讀取文件中的字符,如讀取文件中的某個(gè)字符、幾個(gè)字符或者全部字符。如果文件沒(méi)有字符存在或讀到文件的末尾時(shí),這時(shí)read()方法返回的值為?1。read()方法的語(yǔ)法結(jié)構(gòu)如下:
FileReader對(duì)象變量.read("字符型數(shù)組",開(kāi)始讀取的位置,讀取的字符個(gè)數(shù)); FileReader對(duì)象還提供了一種方法skip(),該方法可以使得用戶可以跳過(guò)一些字符不進(jìn)行讀取。其語(yǔ)法結(jié)構(gòu)如下: FileReader對(duì)象.skip("要跳過(guò)的不讀取的字符的數(shù)目"); 當(dāng)FileReader對(duì)象的任務(wù)完成后,需要關(guān)閉FileReader對(duì)象,調(diào)用close()方法。其語(yǔ)法結(jié)構(gòu)如下:FileReader對(duì)象變量.close();5.2.2文件中以行為單位的數(shù)據(jù)讀取JSP頁(yè)面中,文件中以行為單位進(jìn)行的數(shù)據(jù)讀取是通過(guò)建立一個(gè)BufferedReader對(duì)象來(lái)實(shí)現(xiàn)的。其語(yǔ)法結(jié)構(gòu)如下:BufferedReaderBufferedReader對(duì)象變量=newBufferedReader(FileReader對(duì)象變量);建立FileReader對(duì)象之后,通過(guò)BufferedReader對(duì)象的readLine()方法來(lái)讀取文件中的整行字符,如讀取文件中的某行字符、幾行字符或全部字符。如果文件中沒(méi)有數(shù)據(jù)或讀到文件最后,這時(shí)readLine()方法返回的結(jié)果為null。readLine()方法的語(yǔ)法結(jié)構(gòu)如下:BufferedReader對(duì)象變量.readLine();當(dāng)BufferedReader對(duì)象的任務(wù)完成后,需要關(guān)閉BufferedReader對(duì)象。調(diào)用close()方法來(lái)實(shí)現(xiàn)。其語(yǔ)法結(jié)構(gòu)如下:BufferedReader對(duì)象變量.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無(wú)分行數(shù)據(jù)寫(xiě)入在JSP頁(yè)面中,數(shù)據(jù)無(wú)分行寫(xiě)入是通過(guò)建立一個(gè)FileWriter對(duì)象來(lái)完成的。其語(yǔ)法結(jié)構(gòu)如下:FileWriterFileWriter對(duì)象變量=newFileWriter("文件磁盤(pán)路徑與文件名稱"); 建立FileWriter對(duì)象之后,通過(guò)FileReader對(duì)象的write()方法來(lái)將數(shù)據(jù)寫(xiě)入文件中。其語(yǔ)法結(jié)構(gòu)如下幾種:(1)FileWriter對(duì)象變量.write(字符);(2)FileWriter對(duì)象變量.write(字符數(shù)組);(3)FileWriter對(duì)象變量.write(字符數(shù)組,起始位置,寫(xiě)入的字符數(shù));(4)FileWriter對(duì)象變量.write(字符串);5.2.4分行數(shù)據(jù)寫(xiě)入數(shù)據(jù)分行寫(xiě)入文件的newLine()方法語(yǔ)法結(jié)構(gòu)如下:
BufferedWriter對(duì)象變量.newLine();Write()方法語(yǔ)法機(jī)構(gòu)也有以下幾種:(1)BufferedWriter對(duì)象變量.write(字符);(2)BufferedWriter對(duì)象變量.write(字符數(shù)組);(3)BufferedWriter對(duì)象變量.write(字符數(shù)組,起始位置,寫(xiě)入的字符數(shù));(4)B
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 牙槽突裂術(shù)后定期復(fù)查的重要性
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)貝殼粉涂料行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 綠色環(huán)保產(chǎn)業(yè)中再生能源利用技術(shù)前景分析報(bào)告
- Python編程規(guī)范指導(dǎo)
- 基因與遺傳病:行動(dòng)課件
- 責(zé)任區(qū)片除草工作檢查制度
- 生理學(xué)核心概念:生理功能與運(yùn)動(dòng)健身課件
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)糧油行業(yè)市場(chǎng)發(fā)展數(shù)據(jù)監(jiān)測(cè)及投資戰(zhàn)略規(guī)劃報(bào)告
- 2025年特殊類型招生筆試面試題及答案
- 2025年董事長(zhǎng)助理招聘筆試及答案
- 2025-2026學(xué)年人教版英語(yǔ)七年級(jí)下冊(cè)課程綱要
- 2025至2030商業(yè)體育場(chǎng)館行業(yè)調(diào)研及市場(chǎng)前景預(yù)測(cè)評(píng)估報(bào)告
- 2025年教師轉(zhuǎn)崗考試職業(yè)能力測(cè)試題庫(kù)150道(含答案)
- 2026年遼寧經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)及參考答案詳解1套
- 2025年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)軟包裝用復(fù)合膠行業(yè)市場(chǎng)調(diào)研分析及投資戰(zhàn)略咨詢報(bào)告
- 斜拉橋的未來(lái)發(fā)展
- 巡察流程培訓(xùn)會(huì)課件
- 項(xiàng)目管理施工合同范本
- 全國(guó)物業(yè)管理法律法規(guī)及案例解析
- 抖音來(lái)客本地生活服務(wù)酒旅酒店民宿旅游景區(qū)商家代運(yùn)營(yíng)策劃方案
- 北侖區(qū)打包箱房施工方案
評(píng)論
0/150
提交評(píng)論