- ベストアンサー
タイムスタンプの取得
初めまして。教えて下さい。 HTMLファイルにてサーバーのファイルを起動しているのですが、 参照ファイルが何時作成されたのか?(更新されたのか?)を HTMLでファイル名の横に記述したいのですがJAVAで出来るのでしょうか? JAVAは全くプログラミング出来ません。 どなたかご教授願います。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そうですか。一般ユーザーが書き込み出来ない置く事が出来ればいいのですが、そうできないなら仕方が無いですね。 VBScript 入りの HTMLという手もあるのですが、同じ理由で却下ですね。セキュリティーの面で問題になりますから。 と考えると、タイムスタンプを拾う処理をどこで動かせるかと言う事になりますね。EXCELにしろブラウザーや他のものがするにしろクライアントのPC上での処理は止めたほうがいいでしょう。 とすると、どこかでテキストのHTMLを作るのが一番手軽ですよね。WEBサーバ上でASPとかJSPとかもありますがそこまでする必要があるか?と言う気もします。もし今現在ASPやJSPまたはCGIが簡単に使えるような状態であって、サーバーからそれらのファイルに(クライアントなどのPCからと)同様にアクセスできるのならば、悪くないとは思います。 あ、でもそもそもWEBサーバーがつかえるならば最初の問題はクリア(クライアントが元ファイルを変更できない)されてVBScript 入りのHTMLをブラウザーに渡してやればいいですよね。タイムスタンプがリアルタイムで更新されるようにしたらちょっとかっこいいかもしれません。(JAVAスクリプトでは出来ないと思います。ファイルシステムにアクセス出来ないようにしてあるでしょうから。) そうでなければ、EXCELのマクロなり、他のプログラムなりでHTMLを作るようにしておいてそれを定期的に手動でも自動でも走らせるようにするのが妥当だと思います。 こんな回答で申し訳ないですが今の所もっといい手は思い浮かばないです。もうちょっと考えてみますが、他の所でも相談してみてはいかがでしょうか。
その他の回答 (2)
- rabbie
- ベストアンサー率51% (16/31)
補足ありがとうございます。よく分かりました。 もう少し確認させてください。 1.クライアントが起動する共通ファイルと言うのはWEBサーバー経由ではなく、ネットワークドライブか、それに似た形でアクセスできる。 2.必要なファイルのリストのようなものがあってそれを元に現在はHTMLファイルを作成している。 3.そのリストからタイムスタンプを含むHTMLを作成するJAVAのプログラムが必要。 これでいいでしょうか? JAVAにこだわらないのであればExcelでやるのがいちばん簡単でいいと思いますよ。そちらのほうで聞いてみてはいかがでしょうか。 タイムスタンプを取る関数くらい簡単なマクロでしょうし(FileSystem.FileDateTime())、ハイパーリンクも作れます。ファイルリストそのものをExcelで管理すればそのシートで全て事足りてしまいますし、HTMLが必要ならばそれも作ってくれます。 もちろんJAVAでも、そのファイルリストを読んでタイムスタンプを取得して必要なHTMLを作らせる事も簡単にできると思いますが、それそのものをするコードが巷で出回っているとも考えにくいのでやはり自分で書くしかないと思います。周囲でJAVAが書ける人に相談してみてはどうでしょう。その時は始めの回答のサンプルコードが参考になると思います。
補足
回答有難う御座います。 確認内容ですが、まさにその通りです。 実際のところJAVAにはこだわりません。 そこでエクセルのマクロ(VBA)でテストしました。これはOKでした。 しかし何故HTMLで作成したかというと殆どのクライアントには触って欲しくないからです。 勿論テキストで変えようと思ったら出来ますが、クライアントのスキルでは出来ないのです。 エクセルは通常使用しているので出来てしまいます。 ロックを掛ける事も勿論出来ますが・・・ 作成したエクセルを毎回HTMLに変換するのも工数が掛かってしまいます。 上司にも相談してみますが、他に案は無いでしょうか? お手数をお掛けします。宜しくお願い致します。
- rabbie
- ベストアンサー率51% (16/31)
えーと、まず、 > HTMLファイルにてサーバーのファイルを起動している の意味が良くわからないのと、 >JAVAは全くプログラミング出来ません との事ですが、プログラムは書かないけれど、質問の事が出来るJAVAで動くツールかライブラリか何かを探していると言う事ならば、的外れな回答になってしまいますがご了承ください。 単に、JAVAでファイルのタイムスタンプを取得したいと言う事であれば下のコードがサンプルになると思います。(が、多分そういう質問ではないと思うので、違ったら補足してください。;;)一応APIのドキュメントのURLを載せておきます。 // ソースファイル DateTest.java のタイムスタンプを表示する import java.io.*; import java.text.*; import java.util.*; class DateTest { public static void main(String[] args){ try { File file = new File("DateTest.java"); Date timestamp = new Date(file.lastModified()); Format form = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss z"); String date = form.format(timestamp); System.out.println(date); } catch (Exception e) {} } }
補足
回答有難う御座います。 説明下手ですいません。補足させて頂きます。 1.社内LANでサーバーに共通ファイルを皆が見られる様にしています。 そのファイルを今までは全てのクライアントのデスクトップにショートカットを 作成し、そこから起動していたのですが デスクトップがいっぱいになるのと、初心者の方でも簡単に開けられるようにと HTMLファイルを作成して、ファイル名をクリックすると共通ファイルが起動するようにしました。 2.その際、ファイル名の横に更新日時を記載すると最新情報が明確な為 更新日時を表示したいと思いましたが、どの様にして良いかが分かりませんでした。 私はJAVAの経験が無い為、ソースを無料配布して頂けるサイトで上記内容を 探しましたが、見つからない為投稿させて頂きました。 今、サンプルを使用してみましたが・・・ すいません。ファイル名を変えただけでは表示しませんでした。 (当たり前って言われそうですけど・・・;;) 私のしたいこと伝わったでしょうか? そして参考URL拝見しましたが更に分かりませんでした・・・ 勉強不足を身にしみています。 お手数を掛けますが宜しくお願い致します。
お礼
数回に渡る回答有難う御座いました。 正直言って「出来るのは分かっているのですが、私ではスキル不足で出来ないのも同時に分かります。」 そんな私に沢山のアドバイス有難う御座います。 未だVBScriptも理解していない為(そもそもVBを理解していない為)本当に自分のしたいことまでは、だいぶ時間が掛かりそうです。。。 でも、今回は色々勉強になりました。 本当に有難う御座いました。 また色々質問を投げかけるかもしれませんが、その時はどうぞ宜しくお願い致します。