- ベストアンサー
Java.io.FileクラスのsetLastModified(更新日時が変更されない)
APサーバからファイルサーバにファイルの書き込み処理を行うシステムの開発を行っています。 ここでファイルサーバに書き込んだファイルの更新日時を任意の日付に変更したいのですが、どうもうまくいきません。 FileクラスのsetLastModifiedを使って更新日時をセットしていますが、falseが返りどうやら失敗しているようです。どうしたら更新日時が変更できるかご存知でないでしょうか? 環境 APサーバ Windows2000サーバ tomcat ファイルサーバ Windows2000サーバ 開発言語 Java フレームワーク struts j2se1.4
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
はじめまして。 回答ではありませんが… 以下のことを確認されてはいかがでしょうか。 (確認済みなら申し訳ありません。) 1. Fileクラスのexistsメソッドの戻り値はどうでした? つまり、そのファイルが存在するかしないかです。 2. パスは「絶対パス」で指定されているでしょうか? 「相対パス」で指定されているでしょうか? 相対パスで指定している場合は システムプロパティのuser.dirからの相対パスになるそうです。 3. APサーバーからファイルサーバーは見えているのでしょうか? あとは…javaで他端末上のファイルが見えるかどうかですね…。 ファイルサーバーのディレクトリをAPサーバーにネットワークドライブの割り当てなどしないと見えないかもしれませんね。 (まったくの自分の憶測ですので間違ってるかもしれません。) あとは、テストプログラムで試してみるのもいいかもしれませんね。 いきなりサーバーアプリからやるのではなく、mainメソッドから自端末のファイルの日付を変えてみて、 その後は他端末のファイルの日付を変えてみて… というような感じで。 それではがんばって下さい。
その他の回答 (1)
- Bonjin
- ベストアンサー率43% (418/971)
ちゃんとファイルをクローズしてから変更してますか? ファイルをクローズしていない状態で変更しようとしてもファイルのハンドルが取得された状態なので変更できません。 1.ファイルオープン 2.ファイル書き込み 3.ファイルクローズ 4.変更日時の変更 の順番で実行させてみるとどうなりますか?