欢迎来到天天文库
浏览记录
ID:40235006
大小:126.50 KB
页数:37页
时间:2019-07-27
《【精品】jsp的档案与电子邮件处理30》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第12章JSP的檔案與電子郵件處理12-1伺服端的檔案處理12-2伺服端檔案的讀取與寫入12-3客戶端的檔案上傳12-4JavaMail寄送電子郵件12-1伺服端的檔案處理12-1-1建立檔案12-1-2顯示檔案資訊12-1-3更改檔名與檔案刪除12-1-4顯示檔案和資料夾清單12-1伺服端的檔案處理伺服端的檔案處理是處理位在Web應用程式所在電腦的檔案,而不是客戶端瀏覽程式所在電腦的檔案。在JSP程式是使用JavaI/O套件的File類別在伺服端建立檔案、顯示指定的檔案資訊、更改檔案名稱、刪除
2、檔案或取得指定資料夾的檔案和子資料夾清單。換句話說,在本節的JSP程式之前需要使用page指引的import屬性匯入java.io.*套件,如下所示:<%@pagecontentType="text/html;charset=MS950"import="java.io.*"%>12-1-1建立檔案JSP程式建立伺服端的檔案是使用File類別方法,首先需要使用建構子建立File物件,如下所示:Filefile=newFile(path+"Ch12_1_1.txt");上述File物件的建構子參數是
3、檔案的絕對路徑,我們可以使用application物件的getRealPath()方法來取得,如下所示:Stringpath=application.getRealPath("/");上述程式碼可以取得Web應用程式根目錄的實際路徑。在建立好File物件後,就可以使用createNewFile()方法建立新檔案,如下所示:file.createNewFile();12-1-2顯示檔案資訊File物件提供相關方法可以取得檔案或資料夾的相關資訊,如下表所示:12-1-3更改檔名與檔案刪除File物件
4、提供相關方法可以更改檔案或資料夾名稱,和刪除檔案,如下表所示:12-1-4顯示檔案和資料夾清單在JSP程式只需建立File物件,就可以進一步使用list()方法取得檔案和資料夾清單,例如:取得File物件file的所有檔案和子資料夾,如下所示:filenames=file.list();上述filenames是String字串陣列,每一個陣列元素就是此路徑取得的一個檔案或資料夾名稱。12-2伺服端檔案的讀取與寫入12-2-1寫入文字檔案12-2-2讀取文字檔案12-2-3檔案複製12-2-4二進
5、位檔案的讀寫12-2伺服端檔案的讀取與寫入JSP程式可以使用JavaI/O套件的FileWriter和FileReader類別執行文字檔案的讀寫,這是一種檔案串流(Stream),串流如同水管的水流,當程式開啟一個來源的輸入串流(例如:檔案、記憶體和緩衝區等),JSP程式可以從輸入串流依序讀取資料。程式輸出資料是開啟一個目的(同樣可以是檔案、記憶體和緩衝區等)的輸出串流,然後將資料寫入串流。例如:檔案複製程式開啟來源檔案的輸入串流和目的檔案的輸出串流,接著從來源串流讀取資料後,馬上寫入輸出串流的
6、目的檔案,就可以完成檔案複製。12-2-1寫入文字檔案在JSP程式可以使用FileWriter物件開啟檔案串流來寫入資料,如下所示:FileWriteroutput=newFileWriter(path);上述程式碼的參數path是檔案路徑字串。第2個參數是檔案寫入方式,如下所示:FileWriteroutput=newFileWriter(path,true);上述參數值true表示新增檔案資料,也就是將資料寫入檔尾。在開啟output檔案串流後,就可以使用write()方法將字串寫入檔案,當
7、使用write()方法完成資料寫入後,別忘了!使用close()方法關閉檔案串流,如下所示:output.close();12-2-2讀取文字檔案在JSP程式可以使用FileReader物件開啟檔案串流讀取檔案內容,檔案使用BufferedReader緩衝器串流加速資料處理且使用readLine()方法一行一行的讀取資料,如下所示:BufferedReaderinput=newBufferedReader(newFileReader(file));在開啟檔案輸入串流後,就可以使用while迴圈配
8、合readLine()方法讀取檔案內容,如下所示:while((str=input.readLine())!=null){……}12-2-3檔案複製在JSP程式使用FileReader和FileWriter串流分別開啟來源和目的檔案串流,就可以使用while迴圈複製檔案內容,如下所示:while((ch=input.read())!=-1)output.write(ch);上述程式碼使用read()方法讀取一個整數,如果傳回-1,表示讀到檔尾,然後使用write()方法馬上將整數寫入目的檔案,等
此文档下载收益归作者所有