- PR -

ファイル保存について

投稿者投稿内容
ドラ
常連さん
会議室デビュー日: 2004/06/24
投稿数: 25
投稿日時: 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ファイルを作成して行きたいと思っております。
Odakaz
ベテラン
会議室デビュー日: 2004/05/24
投稿数: 70
投稿日時: 2004-08-19 16:13
おそらくJSPだと思いますが、これでとりあえず動かすには、
『変えたい部分を変数にする』というアプローチになるんではないでしょうか。

ただ、JSPでこういう処理を行う事自体、特殊というかあまり意味がないと思います。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2004-08-19 16:35
通常は、ケースのよって置き換えたい場所をbeanで処理するのが、一般的だと思います。
ドラ
常連さん
会議室デビュー日: 2004/06/24
投稿数: 25
投稿日時: 2004-08-19 17:13
書き込みありがとうございます。
beanで処理をする事にします。
FileWriter fw = new FileWriter(application.getRealPath("test.html"));
のプログラムを変えて、ファイル名を自由に変えるようにするにはどうしたらよいのでしょうか?
aa
ぬし
会議室デビュー日: 2004/01/08
投稿数: 299
投稿日時: 2004-08-19 20:35
"test.html"とハードコーディングせずに変数にしてやればいいだけですよ。
ドラ
常連さん
会議室デビュー日: 2004/06/24
投稿数: 25
投稿日時: 2004-08-19 21:14
変数で指定してあげるようにプログラムを書きなおしました。
すると、保存はされるようになったのですが、拡張子.htmlを入れることができず、今はただの名前しか保存されません。

String filename = new String(lplan.getTitle().getBytes("8859_1"),"JISAutoDetect");
FileWriter fw = new FileWriter(application.getRealPath(filename));

としているのですが、拡張子.htmlをつけて保存するにはどうしたらよいのでしょうか?
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2004-08-19 21:23
引用:

拡張子.htmlをつけて保存するにはどうしたらよいのでしょうか?


".html"ってくっつけてあげればいいだけじゃん。。。
っていうか本当に自分で考えてます?
このプログラムを自力で書けたならそんなことわかりそうなものなんだけど。
ドラ
常連さん
会議室デビュー日: 2004/06/24
投稿数: 25
投稿日時: 2004-08-19 22:25
プログラム初心者ですが、一応考えているつもりです。
".html"をつけてもエラーが出てしまうのです。
それで先ほどどうやればいいのか質問しました。

スキルアップ/キャリアアップ(JOB@IT)