- PR -

ファイルを開くとき、アプリケーション選択/関連付けを利用したい

1
投稿者投稿内容
お散歩
会議室デビュー日: 2008/04/14
投稿数: 6
お住まい・勤務地: 東京都
投稿日時: 2008-04-14 04:55
お世話になります。

現在、Javaの勉強を目的に、JDK 1.6を使ってランチャーを作っています。
現状では、テキストファイルにランチャーで開きたいファイルや、ファイルを開くアプリケーションのパスを予め入力し、
ボタンやメニューアイテムがクリックされると、テキストファイルに記述されたパスを読込み、
ファイルをアプリケーションで開くものが作れています。

以下がファイルを開く処理部分です。

/* ファイルを開くためのApplicationとファイル 起動のためのプロセス作成 */
ProcessBuilder pb;
pb = new ProcessBuilder(ファイルを開くアプリケーションのパス, 開きたいファイルのパス);
/* プロセスビルダの属性を使って Applicationとファイルを新規プロセスで起動します */
Process p;
p = pb.start();

ただ、これだと開きたいファイルの変更を行う時、ファイルパスの変更だけでなく、
ファイルを開くアプリケーションのパスも変更しなくてはならなくて、
慣れればそうではないのですが、使ってみると結構不便です。

そこで、ファイルを開く際、アプリケーションを「関連付け」や、
「プログラムから開く」ということができないか調べてみたのですが、
情報が見つかりませんでした。
どなたか、この問題の対処方法で「こんな情報があるよ。」という方、
情報を頂けませんでしょうか?

ちなみにランチャーは WindowsXP(H.E.)、VineLinux問わずで動作することを目標にしています。
現在作り込んだものは、そのどちらでも動作しています。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-04-14 08:25
JDK6ではjava.awt.Desktopクラスを使うとよいでしょう。
お散歩
会議室デビュー日: 2008/04/14
投稿数: 6
お住まい・勤務地: 東京都
投稿日時: 2008-04-14 09:12
かつのり様。
早速の御返事ありがとうございます。

ご指摘頂いた、JDK6APIのjava.awt.Desktopクラスを確認しましたところ、
私の欲しい機能を提供してくれるメソッドが確認できました。

今日は、試す時間が無いのですが、
時間を見つけて試してみたいと思います。

情報ありがとうございました。
お散歩
会議室デビュー日: 2008/04/14
投稿数: 6
お住まい・勤務地: 東京都
投稿日時: 2008-04-16 22:40
かつのり 様。
WindowsXP(H.E.)で試した結果を御連絡致します。

教えて頂いたjava.awt.Desktopクラスのメソッドで、
あるPDFファイルを開くコードを作ってみた結果、
現在パソコンにインストールされている Adobe Reader 8 を使って、
PDFファイルのオープンを確認しました。

まだ、VineLinuxは試していないのですが、
やりたいことが一つ出来ました。

情報ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)