- - PR -
ファイル保存について
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-19 15:54
HTMLファイルを作成するプログラムを作ったのですが、今の状態では1つのファイルしか作成できず、新しいファイルを作成しようとすると、上書きされてしまいます。これをタイトルをファイル名としてファイルを作成できるようにしたいのですが、どなたか分かる人がいらっしゃいましたら、ご教授願いたいです。
////下記ソース///// <%@ page contentType="text/html;charset=Shift_JIS" import="java.lang.*,java.util.*,java.io.*" %> <jsp:useBean id="lplan" class="LessonPlan" scope="session" type="LessonPlan" /> <html> <head> <title>授業プラン</title> </head> <%! private int n; %> <body> <% FileWriter fw = new FileWriter(application.getRealPath("test.html")); String sCode; sCode = "<html>"; sCode += "<head>"; sCode += "<title>"; sCode += new String(lplan.getTitle().getBytes("8859_1"),"JISAutoDetect"); sCode += "</title>"; sCode += "</head>"; sCode += "<body>"; sCode += "<font size=\'5\'>"; sCode += "<b>タイトル:</b>"; sCode += new String(lplan.getTitle().getBytes("8859_1"),"JISAutoDetect"); sCode += "</font>"; sCode += "<br>"; sCode += "<br>"; for (n = 0; n < lplan.getItemnumber(); n ++) { sCode += "<font size=\'3\'>"; sCode += "<b>"; sCode += new String(lplan.getItemlabel(n).getBytes("8859_1"),"JISAutoDetect"); sCode += ":</b>"; sCode += "</font>"; sCode += "<br>"; sCode += "<br>"; sCode += "<font size=\'3\'>"; sCode += new String(lplan.getItemtext(n).getBytes("8859_1"),"JISAutoDetect"); sCode += "</font>"; sCode += "<br>"; sCode += "<br>"; } sCode += "</body>"; sCode += "</html>"; fw.write(sCode); fw.close(); %> <center> <h1>保存しました。</h1> </body> </html> 今ではtest.htmlでしか作成できませんが、これをタイトル名で様々なHTMLファイルを作成して行きたいと思っております。 | ||||
|
投稿日時: 2004-08-19 16:13
おそらくJSPだと思いますが、これでとりあえず動かすには、
『変えたい部分を変数にする』というアプローチになるんではないでしょうか。 ただ、JSPでこういう処理を行う事自体、特殊というかあまり意味がないと思います。 | ||||
|
投稿日時: 2004-08-19 16:35
通常は、ケースのよって置き換えたい場所をbeanで処理するのが、一般的だと思います。
| ||||
|
投稿日時: 2004-08-19 17:13
書き込みありがとうございます。
beanで処理をする事にします。 FileWriter fw = new FileWriter(application.getRealPath("test.html")); のプログラムを変えて、ファイル名を自由に変えるようにするにはどうしたらよいのでしょうか? | ||||
|
投稿日時: 2004-08-19 20:35
"test.html"とハードコーディングせずに変数にしてやればいいだけですよ。
| ||||
|
投稿日時: 2004-08-19 21:14
変数で指定してあげるようにプログラムを書きなおしました。
すると、保存はされるようになったのですが、拡張子.htmlを入れることができず、今はただの名前しか保存されません。 String filename = new String(lplan.getTitle().getBytes("8859_1"),"JISAutoDetect"); FileWriter fw = new FileWriter(application.getRealPath(filename)); としているのですが、拡張子.htmlをつけて保存するにはどうしたらよいのでしょうか? | ||||
|
投稿日時: 2004-08-19 21:23
".html"ってくっつけてあげればいいだけじゃん。。。 っていうか本当に自分で考えてます? このプログラムを自力で書けたならそんなことわかりそうなものなんだけど。 | ||||
|
投稿日時: 2004-08-19 22:25
プログラム初心者ですが、一応考えているつもりです。
".html"をつけてもエラーが出てしまうのです。 それで先ほどどうやればいいのか質問しました。 | ||||
