版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 西藥執(zhí)業(yè)藥師藥學(xué)綜合知識與技能分類模擬23
- 2024年福泉市數(shù)學(xué)六上期末學(xué)業(yè)水平測試模擬試題含解析
- 2024年福建省三明市大田縣六年級數(shù)學(xué)第一學(xué)期期末統(tǒng)考模擬試題含解析
- 2024年東營市河口區(qū)數(shù)學(xué)四上期末調(diào)研模擬試題含解析
- 2024年阜南縣數(shù)學(xué)六年級第一學(xué)期期末復(fù)習(xí)檢測試題含解析
- 2024年年人臉識別項(xiàng)目合作計劃書
- 2024年醫(yī)療、外科、牙科或獸醫(yī)用家具合作協(xié)議書
- 2024年船專用碼頭合作協(xié)議書
- 2024年單縣六上數(shù)學(xué)期末達(dá)標(biāo)測試試題含解析
- 2024年大埔縣六年級數(shù)學(xué)第一學(xué)期期末質(zhì)量檢測試題含解析
- 貴州省新高考聯(lián)盟2024-2025學(xué)年高三上學(xué)期9月月考語文試題(解析版)
- 3.2 實(shí)數(shù) 浙教版七年級數(shù)學(xué)上冊課件
- 儲能系統(tǒng)技術(shù)服務(wù)合同模板
- 2024至2030年中國加熱爐行業(yè)市場調(diào)研分析及發(fā)展前景展望報告
- 2024-2030年中國石油焦行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 2024年中國中車長春軌道客車股份限公司校園招聘140人(高頻重點(diǎn)提升專題訓(xùn)練)共500題附帶答案詳解
- 構(gòu)建安全生產(chǎn)風(fēng)險管控六項(xiàng)機(jī)制工作實(shí)施專業(yè)方案
- 十年(2015-2024)高考真題英語分項(xiàng)匯編(全國)專題 15 閱讀理解議論文(學(xué)生卷)
- 第三分冊 貴州質(zhì)量安全監(jiān)督表格
- 北師大版九年級數(shù)學(xué)上冊第二章第18課時應(yīng)用一元二次方程(二)課件
- 我國供熱領(lǐng)域碳排放權(quán)交易現(xiàn)狀和未來趨勢
評論
0/150
提交評論