JSPにファイルが存在するかどうかを判断し、フォルダーとファイルを作成します。
メモ。
WinXP + Tomcat5.1 では、コードは次のとおりです:
<%
//Web ルート パスを取得 //絶対パス
//getServletContext().getRealPath("/") ルート パスを取得Web アプリケーションの
// D:webexcel、「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 (例外 e){
e.printStackTrace(); //フォルダーの作成に失敗しました
//リンク内で URLEncoder エンコードを使用して中国語パラメーターを渡します。
//受信ページは getParameter() を使用してこのパラメータ (ページの charset=GB2312) を取得できます。
String ErrName=java.net.URLEncoder.encode("フォルダーが存在しません。フォルダーの作成中にエラーが発生しました!");
response.sendRedirect("errorpage.jsp?error="+ErrName); //エラーにジャンプしますpage
return;
}
//gmcc フォルダーに新しい myfile.txt ファイルを作成します
java.io.File myFile = new java.io.File(Save_Location+"gmcc\myfile.txt"); .FileOutputStream fout = null;
try {
fout = new java.io.FileOutputStream(myFile);
byte b[]= "Hello!".getBytes();
fout.write(b);
fout.flush( ) ; //ファイルを書き込む
fout.close(); //閉じる
}
catch (java.io.FileNotFoundException e) {
e.printStackTrace();
}
catch (java.io.IOException ex) {
ex.printStackTrace();
}