• ベストアンサー

Java.io.FileクラスのsetLastModified(更新日時が変更されない)

APサーバからファイルサーバにファイルの書き込み処理を行うシステムの開発を行っています。 ここでファイルサーバに書き込んだファイルの更新日時を任意の日付に変更したいのですが、どうもうまくいきません。 FileクラスのsetLastModifiedを使って更新日時をセットしていますが、falseが返りどうやら失敗しているようです。どうしたら更新日時が変更できるかご存知でないでしょうか? 環境 APサーバ    Windows2000サーバ tomcat ファイルサーバ Windows2000サーバ 開発言語 Java フレームワーク struts j2se1.4

  • Java
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

はじめまして。 回答ではありませんが… 以下のことを確認されてはいかがでしょうか。 (確認済みなら申し訳ありません。) 1. Fileクラスのexistsメソッドの戻り値はどうでした? つまり、そのファイルが存在するかしないかです。 2. パスは「絶対パス」で指定されているでしょうか? 「相対パス」で指定されているでしょうか? 相対パスで指定している場合は システムプロパティのuser.dirからの相対パスになるそうです。 3. APサーバーからファイルサーバーは見えているのでしょうか? あとは…javaで他端末上のファイルが見えるかどうかですね…。 ファイルサーバーのディレクトリをAPサーバーにネットワークドライブの割り当てなどしないと見えないかもしれませんね。 (まったくの自分の憶測ですので間違ってるかもしれません。) あとは、テストプログラムで試してみるのもいいかもしれませんね。 いきなりサーバーアプリからやるのではなく、mainメソッドから自端末のファイルの日付を変えてみて、 その後は他端末のファイルの日付を変えてみて… というような感じで。 それではがんばって下さい。

その他の回答 (1)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

ちゃんとファイルをクローズしてから変更してますか? ファイルをクローズしていない状態で変更しようとしてもファイルのハンドルが取得された状態なので変更できません。 1.ファイルオープン 2.ファイル書き込み 3.ファイルクローズ 4.変更日時の変更 の順番で実行させてみるとどうなりますか?

関連するQ&A

  • エクセル2007の更新日時が変更されて困ってます;

    こんにちは エクセル2007の更新日時が変更されて困ってます。 環境はwindows2003サーバーをファイルサーバーに使い クライアントPCはXp、オフィスは2007です。 現象としてはタイトルの通りで、何故か上書き保存もしていないエクセルの更新日時が、そのファイルを開いた日時に書き変わってしまいます。。 あくまでもファイルサーバ上のファイルを開いた時に起きる現象で クライアントPC内のファイルは普通に閉じた時に更新日時が戻ります。 何か対策はありますでしょうか? 更新日時が正しく表示されないと大変不便を感じてます;

  • エクセル2007の更新日時が変更されて困ってます;

    こんにちは エクセル2007の更新日時が変更されて困ってます。 環境はwindows2003サーバーをファイルサーバーに使い クライアントPCはXp、オフィスは2007です。 現象としてはタイトルの通りで、何故か上書き保存もしていないエクセルの更新日時が、そのファイルを開いた日時に書き変わってしまいます。。 あくまでもファイルサーバ上のファイルを開いた時に起きる現象で クライアントPC内のファイルは普通に閉じた時に更新日時が戻ります。 何か対策はありますでしょうか? 更新日時が正しく表示されないと大変不便を感じてます;

  • wmp10で再生後に更新日時が変更されてしまう

    WMP10を使用しています。 NASサーバーに置いた音楽ファイル再生後にファイルの更新日時が変更されてしまいます。 本体のHDD上のファイルを再生してもこのようなことはありません。 更新日時が変更されないような方法はありますでしょうか? ご教授お願いします。

  • どんなフレームワークが良いでしょうか?

    どんなフレームワークが良いでしょうか? Java言語を用いた画面が4つぐらいのWebシステムを作成しようとしています。 下記の環境はほぼ決まっています。 OS:Windows XP 言語:Java 1.6 APサーバ:Tomcat 6.0 開発ツール:eclipse 3.4 DB:HiRDB 8 サーブレットとJSPについてはある程度知識がありますが、 フレームワークについてはほとんど知識がありません。 (Struts1のシステム開発を少しだけ手伝ったことがあるぐらいです。) データベースアクセスについてもプログラム内にSQL文を自分で記述する 初歩的なやり方でしか経験がありません。 出来ればフレームワーク初心者でも仕組みがわかりやすいフレームワークで 作成しようと考えています。 フレームワークの組み合わせによってはXMLだらけになって 管理が大変だという記述も見ました。 フレームワークを知らない自分がいろいろ試すより、 これまで皆さんが用いた様々なフレームワークについてご意見を頂きたいです。

    • ベストアンサー
    • Java
  • 更新日時の変更

    ファイルなどで表示される更新日時の変更って可能でしょうか? たとえば2005/11/14→2005/10/10など・・・ データではなく更新日だけ変更したいのです。 もし可能だとして、改造したファイルはばれないでしょうか? どうしてもある日にファイルを作ったことにしたいので (理由は御免なさい。でも違法な目的ではありません) 道徳的にはダメかも知れませんが、どうかよろしくお願いいたします。

  • 複数のファイルで、個別の更新日時で作成日時等を変更

    複数のファイルの作成日時とアクセス日時を、それぞれのファイルの更新日時と同じに、一括で変更できるWindows用フリーソフトはありますか? FTimeEditで、『同期』にチェックマークを入れて『 更新日時』を選べばやりたい変更はできるのですが、複数のファイルを、各ファイルの更新日時で個別に変更するのは無理なようです。

  • 更新日時

    Excelを開いて上書きもしていないのに勝手に更新日時がファイルを開いた日時に変更になってしまい、作成した日時が分らなくなってしまいました。 どう設定し直せば上書きしなかったファイルが元の日付けに戻るか教えて下さい。

  • フォルダの更新日時って何?

    基本的なことが分からないのでお教えください。 Windows98SEを使っているのですが、エクスプローラでフォルダを詳細表示で表示すると更新日時が表示されますが、フォルダの更新日時ってなんでしょうか。 更新日時ということは、フォルダを更新すると変わるんだと思いますが、「フォルダを更新する」とはどのようなことでしょうか。 フォルダの中にファイルを作ると更新日時が変わるのかと思ってさっきやってみたのですが、変わりませんでした。

  • ファイルの更新日時

    ファイルの更新日時を変更することはできますか? できるのならばその方法を教えてください。 例えば、2001年3月8日21:09に保存したファイルの更新日時だけを2001年3月6日20:00に変更するなどです。

  • フォルダー更新日時について

    フォルダー内のファイルを更新してもフォルダーの更新日時が変わりません。フォルダーのプロパティーから、カスタマインズで、「アイコンを変更」でアイコンを変更したときだけ日付けが変わりますが、それ以外は、新しいファイルを入れても、既存のファイルを書き換えても(そのファイルは正しい日付になります。)フォルダーの日付が以前のままで全く変わりません。考えられることは、そのフォルダーがスロットに挿入してあるSDカードの中のフォルダーであるということです。内部の例えばCドライブ内のフォルダーはきちんと更新されます。OSはwindows10です。スロットに挿入してあるSDカードの中のフォルダーで更新日時を正しく更新する方法を教えてください。

専門家に質問してみよう