• ベストアンサー

ファイルへの入力と出力について

はじめまして。java初心者の初投稿です。 ブラウザ画面のフォームから文字を入力してボタンを押下すると.txtファイルに書き込まれていく、という処理にてこずってます。アプレットからは操作できないと過去の記事に書かれていました。 いろいろ方法はありそうなのですが・・・自分の力では時間ばかり費やしています。どうかよろしくお願いします。

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

  • ベストアンサー
  • sasadora
  • ベストアンサー率68% (59/86)
回答No.2

サーブレットなんですか。じゃあ簡単ですよ。 基本的には、次のような手順になります。 ・フォームを表示する。 ・フォームから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リファレンスを参照してください。

jkkm
質問者

お礼

度々お返事有難うございます。

jkkm
質問者

補足

うーむぅ。ということはhtmlファイルの記述はどのような感じになるのでしょうか?ほんとに時間のあるときにでもよろしければお願いできますか?とりあえずがんばってみます。有難うございました。

その他の回答 (2)

  • sasadora
  • ベストアンサー率68% (59/86)
回答No.3

プログラムはどう動くか想像なんですが、 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するわけです。

jkkm
質問者

お礼

長々と今日はいろいろと教えていただき有難うございました。親切で丁寧な説明に大変感謝してます。いろいろな事が出来てjavaってすごいですね。

  • sasadora
  • ベストアンサー率68% (59/86)
回答No.1

情報が少なすぎで、なにをターゲットにしているのかわからないのですが、 サーバ上のファイルに書き込みたいのですか? それともクライアントのファイルに書き込みたいのですか? あと、アプレットなのですか?サーブレットなのですか? それが分からないと、詳しく書きようがないので、とりあえずさわりだけ。 ○サーバ上のファイルに書き込みたい。サーブレットで。 これは普通にフォームからPOST, GETで送信されたデータを、 ファイルに書き込めばよいです。 ○サーバ上のファイルに書き込みたい。アプレットで。 これはアプレット単体では無理です。アプレットがクライアントで動作するので。 対応策としては、ファイルを書き込むサーブレットなりCGIなりをサーバで用意し、 アプレットからデータを送信し、サーバのプログラムがファイルを書き込む ということをすれば、可能です。 ○クライアントのファイルに書き込みたい。サーブレットで。 これは無理です。せいぜいサーバ上で作成したファイルを、 クライアントにダウンロードさせるくらいでしょう。 ○クライアントのファイルに書き込みたい。アプレットで。 難しいですが、不可能ではないです。 私もやったことはないのですが、署名付アプレットというのを作成し、 ユーザが署名を確認し、アプレットの動作について了承することで、 ファイルアクセスも可能になるようです。 クライアントのファイルに書き込むのはセキュリティ的に 厳しい制限が加わるので難しいことが多いです。

jkkm
質問者

お礼

すぐに教えていただいて有難うございます。

jkkm
質問者

補足

初心者なもので・・失礼しました。 サーバ上のファイルにサーブレットで書き込む処理を行いたいのですが具体的なプログラム記述はどのようになるのでしょうか?

関連するQ&A