- ベストアンサー
ファイルへの入力と出力について
はじめまして。java初心者の初投稿です。 ブラウザ画面のフォームから文字を入力してボタンを押下すると.txtファイルに書き込まれていく、という処理にてこずってます。アプレットからは操作できないと過去の記事に書かれていました。 いろいろ方法はありそうなのですが・・・自分の力では時間ばかり費やしています。どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
サーブレットなんですか。じゃあ簡単ですよ。 基本的には、次のような手順になります。 ・フォームを表示する。 ・フォームからPOST,GETされたデータを受け取る(HttpServletRequest.getParameter()) ・ファイルに書き込む。(FileWriterなど) 簡単に書くと、こんな感じで。 PrintWriter pw = null; try { pw = new PrintWriter(new FileWriter("test.txt")); pw.println(request.getParameter("text")); //フォームからPOSTされたデータ } finally { if (pw != null){ pw.close(); } } ファイルの読み書きについては、java.ioパッケージの APIリファレンスを参照してください。
その他の回答 (2)
- sasadora
- ベストアンサー率68% (59/86)
プログラムはどう動くか想像なんですが、 HTMLファイル(FORM表示)→Servlet呼び出し→ファイル書き込み という感じでしょうか。 HTMLファイルの記述は、 <HTML> <BODY> <FORM ACTION="サーブレットURL" METHOD="POST"> <INPUT TYPE="text" NAME="text"> <INPUT TYPE="submit" VALUE="SEND"> </FORM> </BODY> </HTML> とかこんな感じ。このHTMLファイルから、サーブレットに対して、 入力データをPOSTするわけです。
お礼
長々と今日はいろいろと教えていただき有難うございました。親切で丁寧な説明に大変感謝してます。いろいろな事が出来てjavaってすごいですね。
- sasadora
- ベストアンサー率68% (59/86)
情報が少なすぎで、なにをターゲットにしているのかわからないのですが、 サーバ上のファイルに書き込みたいのですか? それともクライアントのファイルに書き込みたいのですか? あと、アプレットなのですか?サーブレットなのですか? それが分からないと、詳しく書きようがないので、とりあえずさわりだけ。 ○サーバ上のファイルに書き込みたい。サーブレットで。 これは普通にフォームからPOST, GETで送信されたデータを、 ファイルに書き込めばよいです。 ○サーバ上のファイルに書き込みたい。アプレットで。 これはアプレット単体では無理です。アプレットがクライアントで動作するので。 対応策としては、ファイルを書き込むサーブレットなりCGIなりをサーバで用意し、 アプレットからデータを送信し、サーバのプログラムがファイルを書き込む ということをすれば、可能です。 ○クライアントのファイルに書き込みたい。サーブレットで。 これは無理です。せいぜいサーバ上で作成したファイルを、 クライアントにダウンロードさせるくらいでしょう。 ○クライアントのファイルに書き込みたい。アプレットで。 難しいですが、不可能ではないです。 私もやったことはないのですが、署名付アプレットというのを作成し、 ユーザが署名を確認し、アプレットの動作について了承することで、 ファイルアクセスも可能になるようです。 クライアントのファイルに書き込むのはセキュリティ的に 厳しい制限が加わるので難しいことが多いです。
お礼
すぐに教えていただいて有難うございます。
補足
初心者なもので・・失礼しました。 サーバ上のファイルにサーブレットで書き込む処理を行いたいのですが具体的なプログラム記述はどのようになるのでしょうか?
お礼
度々お返事有難うございます。
補足
うーむぅ。ということはhtmlファイルの記述はどのような感じになるのでしょうか?ほんとに時間のあるときにでもよろしければお願いできますか?とりあえずがんばってみます。有難うございました。