• ベストアンサー

JSPのファイル検索

JSPでtxtファイルを読み込んで使っているのですが、txtファイルが無かった時に、違う処理をさせたいのです。 if("~.txt" == null){    txtファイルがない時の処理 }else{    txtファイルがある時の処理 } という感じを考えていたのですが、このようにすると初めのif文の時点で"~.txt"が無いため、ファイルが見つからないエラーが起きてしまいます。 何かいい方法は無いでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yuchi-co
  • ベストアンサー率60% (29/48)
回答No.1

読み込みをどのクラスで行っているのかわからないですが。 ファイル読み込み部をtry~catchで囲んでcatch節でファイルがない場合の処理をするのはどうでしょう。 try{ //ファイルを読み込み、ファイルがある場合の処理 }catch(FileNotFoundException e){ //ファイルがない場合の処理 }

bell_xxx
質問者

お礼

回答ありがとうございます。 思い通りのことが出来ました、ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ファイルコピーとコードの綺麗な書き方について

    質問です。 特定のファイル名を複数コピーする場合、 理想な処理はなんでしょうか? 1. IF文でファイルを確認してコピー処理 2. *.txtにファイル名を予め書き込んでおいて、   1行づつ読み込んで検索してコピー処理 など…、 コードが綺麗に見えて、尚且つ何処に何があるか オープンソースにした時他人がひと目で分かるような 処理構造とはなんでしょうか? あと If File.Exists("C:\test_A.txt") Then File.Copy("C:\test_A.txt", "D:\test_A.txt", True) Else If File.Exists("C:\test_B.txt") Then File.Copy("C:\test_B.txt", "D:\test_B.txt", True) Else MessageBox.Show("test_B.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If MessageBox.Show("test_A.txt" & vbCr & vbCr & _ "ファイルが見つかりません。再度ダウンロードして下さい", "Error", _ MessageBoxButtons.OK, MessageBoxIcon.Error) End If と永遠に書いてると、何が何処にあるのか難しいです。 一つ一つの確認に~は無い。~はある場合はコピーというのしたいです。 このIF文も何らかの形で解りやすい処理方法に変更してくれれば 幸いです。 【回答お願い】 1. 最も綺麗に見えて他人からも理解出来て処理が   重くならない方法でコピーするコードを書くには? 2. 上記で記載したIF文を500行ぐらい書いています。   もっと綺麗に書く方法はありますか?

  • jspでファイルを読み込む

    jspでajaxを使ってファイルを読み込む処理がうまくいきません。 直接jspのページを見る場合、jspのアドレスが http://localhost:8080/xxx/sample.jsp となり処理もうまくいくのですが、javaのクラスファイル→sample.jspのようにサーブレットから値を受け取る場合にアドレスが http://localhost:8080/xxx/servlet/クラスファイル名?変数名=値 となり、この場合ファイルを読み込む処理がうまくいきません。 【ソースの一部】 function loadText(filename){ new Ajax.Updater( { success: "disp"}, filename, { method: 'get', onFailure: displayError} ); } <input type="button" value="ファイル読み込み" onClick="loadText('readfile.txt')"> <div id="disp"></div> readfile.txtのパスの書き方が悪いのかと思いいろいろ試しましたができませんでした。 アドバイスお願いします。

    • ベストアンサー
    • Java
  • jspでファイルの読み込み

    jspでwebサーバーにある“1.txt”ファイルを読み込んでそれを表示するプログラムを作成したのですが、エラーが出てしまいます。サーバーの環境(jsp実行環境等)は問題ありません。以下のコードで何かおかしなところがありましたら教えてください。 <%@ page contentType="text/html" import="java.util.*,java.io.*" %> <% String result = ""; String h_s = ""; FileReader h_fr = new FileReader("1.txt"); BufferedReader h_br = new BufferedReader(h_fr); while(true){ h_s = h_br.readLine(); if (h_s == null){ break; } result = result + h_s; } %> <%= result %>

    • ベストアンサー
    • Java
  • ServletからJSP

    はじめまして。 お世話になります。 以下のようにサーブレットから条件によってJSPファイルを 使い分けようと思っているのですが、うまく出来ません。   protected void processRequest(HttpServletRequest request, HttpServletResponse response)   throws ServletException, java.io.IOException   {     PrintWriter out = response.getWriter();     out.println("<html>");     out.println("<head>");     out.println("<title>タイトル</title>");     out.println("</head>");     out.println("<body>");     RequestDispatcher rd = null;     if(/* 条件1 */)     {       rd = request.getRequestDispatcher("hoge1.jsp");     }     else if(/* 条件2 */)     {       rd = request.getRequestDispatcher("hoge2.jsp");     }     else     {       rd = request.getRequestDispatcher("hoge3.jsp");     }     out.println("</body>");     out.println("</html>");     if(rd != null)     {       rd.include(request,response);     }   } このようにすると <html> ・ ・ サーブレットから出力した部分 ・ </html> <****> JSPで出力した部分 </****> とサーブレットの部分だけ先に出力されてしまいます。 JSPファイルの前後に出力させるにはどのようにすればよいのでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Java
  • JSPファイルがコンパイルできない!

    雑誌に付いていたtomcat3.2.3用のServlet/JSPを tomcat4.1.10で動かそうとしたら、JSPファイルが コンパイルできないというエラーが出ました。 エラーの内容は、 ------------------------ org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /*****.jsp の中の行: 1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\*****\*****_jsp.java:43: シンボルを解決できません。 シンボル: クラス ○○ 場所 : org.apache.jsp.*****_jsp の クラス ***** ***** = (*****)request.getAttribute("*****"); ^ -------------------------- といった感じです。 tomcat3.2.3ではちゃんと動いたのですが、 4.1.10では他に何かしなければいけないのでしょうか。 よろしくお願いします。

  • JavascriptからJSPファイル(~.jsp)を起動する時、引数

    JavascriptからJSPファイル(~.jsp)を起動する時、引数を渡したい。また、jspファイル終了後、jspからのリターン値(もくしは引数)をjavascriptで参照したい。  ※要するに javasript → jsp 起動  起動jspファイル終了時、javascript側でjspファイルの処理結果を判定したい。 どうすれば良いですか?

  • シェルスクリプトのif文

    シェルスクリプトのif文について質問です。 あるファイルが存在しないときだけ処理を行いたい場合、 下記のような記述をするしかないのでしょうか? if [ -e /tmp/test.txt ]; then  ダミー処理(val1=1など意味のない処理)  (ダミー処理を入れるのは何も書かないとエラーとなってしまうため) else   行いたい処理 fi elseを使わずに if  fi だけですますことはできないでしょうか? -eはファイルが存在するならば真なので 逆に意味が真となるようにしたいのですが・・・

  • ファイルを開きたいのですが、うまくいかなくて困っています。

    ファイルを開きたいのですが、うまくいかなくて困っています。 以下のソースですが、デバッグしながらやっているので謎な部分があるかもしれません。 やりたいこと: ・実行ボタンを押すと"data/test.txt"を開き、OK部の処理に入りたい。 現状: ・参照ボタンを押した後、ファイル選択ダイアログで[開く]を押した後、実行ボタンを押すとエラー ・参照ボタンを押した後、ファイル選択ダイアログで[キャンセル]を押した後、実行ボタンを押すとOK ・"data/test.txt"は存在します。"r"を"w"にして作成してみたりした為、間違いないと思います。 VC++(MFC)でプログラミングしています。 自力解決が難しい為、お力を貸してくださいm(__)m [環境] OS: Windows XP SP3 tools: VisualStudio2008 //**************************************************************** // 参照ボタン //**************************************************************** void CMergeFile::OnBnClickedButtonRef02() { static char BASED_CODE szFilter[] = "Text Files(*.txt)|*.txt|All Files(*.*)|*.*||"; // ファイルの指定を行う CFileDialog dlg( TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_FILEMUSTEXIST, zFilter, NULL ); dlg.m_ofn.lpstrTitle = "取り込むファイルを選択"; // OKボタンが押されたかチェックする if( dlg.DoModal() == IDOK ){ // ファイル名称クリア処理 ※fileNameはメンバ変数として外に持っています。 memset( fileName, '\0', sizeof(fileName) ); // ファイル名を取得する strcpy( fileName,dlg.GetPathName()); } else { return; } // 選択ファイル名を表示する m_edit_filepath.SetWindowText(fileName); } //**************************************************************** // 実行ボタン //**************************************************************** void CMergeFile::OnBnClickedButtonExe02() { FILE *fpBase = 0; fpBase = fopen("data/test.txt", "r"); if ( fpBase == NULL ){ MessageBox("err"); // エラー } else { MessageBox("ok"); // OK fclose(fpBase); } }

  • JSP画面について

    なんとも漠然とした質問なのですが。。 画面設計時点ですべて、htmlファイルとして画面を作っておき、 それをプログラミング段階でJSPファイルに直し、サーバー処理等 を追記して行く様な形で設計を進めています。 ところで、画面内にはJSPに直さず、htmlのままで問題ないものも 幾つか存在します。 皆さんなら、統一して、すべてJSPにしてしまいますか? それとも、先頭画面のみhtmlにしてあとはJSPにしますか? サーバー処理が必要なもののみJSPにしますか? 色々なアプリケーションが存在するのでいちがいには言えない とは思いますが、一般的な話として、お願いします。

    • ベストアンサー
    • Java
  • kshのファイルが存在しない時

    ksh (korn shell)にて if [[ -e file.txt ]]; then とすれば、file.txtが存在する時の処理ができることは分かったのですが、反対に 「ファイルが存在しない時」はどういうif文の書き方をすればいいのでしょうか? man kshで探してみたのですが、探し方がよくわからず、挫折しました。 C言語でいうところの "!"や否定の仕方がありましたら、教えていただきたいと思います。 否定で書けない場合は、別の方法を教えていただければ幸いです。