在JSP中判斷某檔案是否存在,並建立檔案夾和檔案。
備忘。
在WinXP + Tomcat5.1 中,代碼如下:
<%
//得到web根路徑//絕對路徑
//getServletContext().getRealPath("/")得到web應用的根路徑
// D:/web/excel,“D:/web”是web應用的根路徑,“excel”是根目錄下的檔案夾
String Save_Location=getServletContext().getRealPath("/")+"excel//";
try{
if (!(new java.io.File(Save_Location).isDirectory())) //如果檔案夾不存在
{
new java.io.File(Save_Location).mkdir(); //不存在 excel 檔案夾,則建立此檔案夾
new java.io.File(Save_Location)+"gmcc//").mkdir(); //建立excel檔案夾下名為 gmcc 的檔案夾
}
else //存在excel檔案夾,則直接建立此檔案夾
{
new java.io.File(Save_Location)+"gmcc//").mkdir(); //建立 excel 檔案夾下名為gmcc的檔案夾
}
}catch(Exception e){
e.printStackTrace(); //建立檔案夾失敗
//在連結中使用URLEncoder編碼,傳遞中文參數。
//接收頁面可以使用getParameter()取得該參數,頁面的charset=GB2312。
String ErrName=java.net.URLEncoder.encode("檔案夾不存在。建立檔案夾出錯!");
response.sendRedirect("errorpage.jsp?error="+ErrName); //跳轉到錯誤頁面
return;
}
//在 gmcc 檔案夾下建立 myfile.txt 檔案
java.io.File myFile = new java.io.File(Save_Location+"gmcc//myfile.txt");
java.io.FileOutputStream fout = null;
try {
fout = new java.io.FileOutputStream(myFile);
byte b[]= "你好!".getBytes();
fout.write(b);
fout.flush(); //寫入檔案
fout.close(); //關閉
}
catch (java.io.FileNotFoundException e) {
e.printStackTrace();
}
catch (java.io.IOException ex) {
ex.printStackTrace();
}
%>
J.R.Q.
2005.11.17 於穗