重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

APサーバからファイルサーバにファイルの書き込み処理を行うシステムの開発を行っています。

ここでファイルサーバに書き込んだファイルの更新日時を任意の日付に変更したいのですが、どうもうまくいきません。

FileクラスのsetLastModifiedを使って更新日時をセットしていますが、falseが返りどうやら失敗しているようです。どうしたら更新日時が変更できるかご存知でないでしょうか?

環境
APサーバ    Windows2000サーバ tomcat
ファイルサーバ Windows2000サーバ
開発言語 Java
フレームワーク struts
j2se1.4

A 回答 (2件)

はじめまして。


回答ではありませんが…
以下のことを確認されてはいかがでしょうか。
(確認済みなら申し訳ありません。)

1.
Fileクラスのexistsメソッドの戻り値はどうでした?
つまり、そのファイルが存在するかしないかです。

2.
パスは「絶対パス」で指定されているでしょうか?
「相対パス」で指定されているでしょうか?
相対パスで指定している場合は
システムプロパティのuser.dirからの相対パスになるそうです。

3.
APサーバーからファイルサーバーは見えているのでしょうか?

あとは…javaで他端末上のファイルが見えるかどうかですね…。
ファイルサーバーのディレクトリをAPサーバーにネットワークドライブの割り当てなどしないと見えないかもしれませんね。
(まったくの自分の憶測ですので間違ってるかもしれません。)

あとは、テストプログラムで試してみるのもいいかもしれませんね。
いきなりサーバーアプリからやるのではなく、mainメソッドから自端末のファイルの日付を変えてみて、
その後は他端末のファイルの日付を変えてみて…
というような感じで。

それではがんばって下さい。
    • good
    • 0

ちゃんとファイルをクローズしてから変更してますか?


ファイルをクローズしていない状態で変更しようとしてもファイルのハンドルが取得された状態なので変更できません。

1.ファイルオープン
2.ファイル書き込み
3.ファイルクローズ
4.変更日時の変更
の順番で実行させてみるとどうなりますか?
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!