- - PR -
サーブレットでファイルの読み書きする場所の指定方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-05-18 13:34
JavaServletで、ファイルの指定方法がうまくいかず苦戦しております。
WorkPath、WorkDirという呼び方がいいかわかりませんが、格納する 場所の指定を行いたいのですが。 ファイルを格納する処理 FileOutputStream fos = new FileOutputStream("hello.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932"); BufferedWriter bw = new BufferedWriter(osw); String msg = "こんにちは 世界"; bw.write(msg); bw.close(); osw.close(); fos.close(); のようなプログラムを実行したときに、ファイルが作成する場所が 1、EclipseのTomcatプラグインでTomcatを起動しServletの中で上記を実行したとき 2、Tomcatのstratup.batでTomcatを起動しServletの中で上記を実行したとき により、作成する場所が異なってしまします。 1は、Eclipseの所に 2は、Tomcatがインスツールされているbinの所に 作成されます。 (Eclipseの下のworkspaceの中のfileAccseのパッケージのFileWriteクラスで行ったとき) c:\\ +Eclipse 1の時はここに作られる +workspace +fileAccse +FileWrite クラス c:\\ +tomcat-5.0.28 +bin 2の時はここにつくられる Eclipseでデバッグし、実際は、TomcatのBatで走らせたいので これらを合わせたいと考えています。 処理が、深いところで行っているので、 getServletContext().getRealPath(); は使用したくないのですが。 いろいろやってみたのですが、うまくいきません。 よろしくお願いします。 環境は:Eclipse 3.0.1、Tomcat 5.0.28、Win2000 です。 引用プログラム http://www.hellohiro.com/fileio.htm |
|
投稿日時: 2005-05-18 13:57
Servlet のマナーではテンポラリディレクトリは (File)context.getAttribute("javax.servlet.context.tempdir") で取得することになっています。
|
1