- - PR -
tomcatでファイルの読み込みや書き込みを指定した時のパスについて
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-03-17 19:17
こんにちはダメ猫です。
TomcatでFileOutputStreamやBufferedReaderなどを使ってファイルの相対パスを指定すると、なぜか「C:」から始まってしまいます。 例 クラスのパス C:\eclipse\workspace\hogehoge\WEB-INF\src\AddDate.java http://localhost:8080/hogehoge/servlet/AddDate.java BufferedReader in = new BufferedReader(/Data.dat")); この時には C:/Data.dat にファイルができてしまいます。 これでは開発環境からサーバに置く度にパスの設定をしなくてはいけなくなってしまいます。 何とか相対パスが指定できるようにはできないでしょうか? どなたかご教授ください。 |
|
投稿日時: 2004-03-17 19:23
相対パスで表現するなら ".."+file.pathSeparator とか "."+file.pathSeparator とか表現すればいいんじゃないでしょうか?
/ から始まっていたらそのボリュームのルートレベルを指しますので、期待通りの動作をしてるかと思います。 |
|
投稿日時: 2004-03-17 19:50
ServletContext.getRealPath を使えばいいんじゃないですか?
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletContext.html#getRealPath(java.lang.String) |
|
投稿日時: 2004-03-17 20:02
返信ありがとうございます。
皆様のおかげで解決いたしました。 |
1
