• ベストアンサー

指定URLでブラウザを開くほか

こんにちは。 2点お伺いいたしたく投稿しました。 1 スタンドアロン環境で、javaアプリから指定URLでブラウザを開くことはできるでしょうか?windowsとMacOSの場合で教えていただけますか?なお指定urlは インターネット上のアドレスの場合もありますが、自身のPC(file:///c:/xxx/aaa/abc.html 、file:///c:/xxx/bbb/hoge.pdf など)を指す場合もあります。 2 スタンドアロン環境でjavaアプリを起動させる場合は、windowsの場合、MacOSの場合、それぞれでどういった方法が利用しやすいでしょうか?

  • Java
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • liar_adan
  • ベストアンサー率48% (730/1515)
回答No.1

できます。 やったことがないのですが、できるはずです。 Macのやりかたはわからないので、Windows環境のことを書きます。 1、二つの方法があります。 (1-1)既存のブラウザを使う方法 ブラウザは、コマンドラインからURLを指定して使えます。 たとえば >\Program Files\Internet Explorer\iexplore.exe http://www.goo.ne.jp/ のようにするとgooのページが開きます。 また、Javaは、 Runtime#exec(String command); というメソッドによって、外部プログラムを起動することができます。 これを利用して、Javaプログラムの中で、 Runtime.getRuntime().exec( "\\Program Files\\Internet Explorer\\iexplore.exe http://www.goo.ne.jp/"); とするとIEを起動してでページが開けます。 (1-2)JavaではHTMLファイルを表示することは比較的簡単です。 javax.swing.JEditPane#setPage(URL)によって、 JEditPane上にHTMLドキュメントを表示することが可能です。 ただ、IEやmozillaと完全に同じ表示になるかどうかわからないのですが、 とりあえずの表示はできるはずです。 2 「ファイルの関連づけ」を使う手もありますが、 Javaにはパッケージというものがあるので、 単純な関連づけではうまくいきません。 .batファイルを使うのが簡単でしょう。 たとえば、abc.defパッケージのGhiクラスを起動したければ、 java abc.def.Ghi という内容のbatファイルを作ります。それを起動します。 また、Jarにまとめる方法も使えます。

wanwansan
質問者

お礼

ありがとうございます。 とても参考になりました。

その他の回答 (3)

  • dayowl
  • ベストアンサー率56% (84/148)
回答No.4

>もう一度JAVAのマニュアルを読んでください。 >本当に256色カラーモードのオプションですか? あ、いけない 大変失礼しました。m(_ _)m 「-Xmx256」のオプションはJAVA仮想マシンにおける最大ヒープサイズの設定でした。 思い込みで書いてしまってすみませんでした。 gantsu-teacher様 ご指摘ありがとうございました。

参考URL:
http://java.sun.com/j2se/1.3/ja/docs/ja/tooldocs/solaris/java.html
回答No.3

>robocode.batというバッチファイルに >java -Xmx256M -jar robocode.jar >と記述されていました。 >-Xmx256は256色カラーモードでの実行なので無視できるとして、 >JARファイル(hoge.jar)を作成して >java -jar hoge.jar >というバッチファイルを作ってやるのが良いのではないでしょうか。 もう一度JAVAのマニュアルを読んでください。 本当に256色カラーモードのオプションですか?

  • dayowl
  • ベストアンサー率56% (84/148)
回答No.2

No.1さんの書かれた方法の通りでこんな感じでできます。 しかしながら、iexplore.exeは、第1引数にURLを指定すると自動的に「http://」を付加してしまうようで、 file:///c:/xxx/aaa/abc.htmlという指定では動かないようです。 (IE6で検証しました) もしかしたら何か起動オプションがあるのかもしれませんが。。。。 import java.io.*; class ExecApp {  public static void main(String args[]){   try {    Runtime.getRuntime().exec("c:\\Program Files\\Internet Explorer\\iexplore.exe http://www.goo.ne.jp/");   } catch(Exception ex) {    ex.printStackTrace();   }  } } javaによる外部コマンドの呼び出しについては参考URLのFAQをご覧ください。 なお、MacOSの場合は、Runtime.getRuntime().exec(...)を使うとAppleScriptがコールされるようになっています。 AppleScriptについては、こちらのURLをご覧ください。 「AppleScript for JAVA」 http://developer.apple.com/ja/technotes/tn1162.html それから、Javaアプリケーションの起動方法ですが、 私の手元にIBMの「Robocode」(Javaプログラミングでロボットの行動プログラムを作り対戦させるゲーム)があったので、それの起動方法を確認してみましたところ、 robocode.batというバッチファイルに java -Xmx256M -jar robocode.jar と記述されていました。 -Xmx256は256色カラーモードでの実行なので無視できるとして、 JARファイル(hoge.jar)を作成して java -jar hoge.jar というバッチファイルを作ってやるのが良いのではないでしょうか。

参考URL:
http://www.gimlay.org/~javafaq/S103.html
wanwansan
質問者

お礼

ありがとうございます。 Macのことはほんとうに不案内ですが、教えていただいたサイトを調べてみます。 たいへん参考になりました。

wanwansan
質問者

補足

ありがとうございます。 MacOSを利用する場合、ローカル環境でjavaアプリを起動するとき、初めて見たかたにもわかりやすい起動方法というのは、通常どのような方法が使われているのでしょうか?

関連するQ&A

  • URL書き換え

    mod_rewriteを使ってURL書き換えを行っています。 ttp://aaa.jp/aaa/xxx.html ↓ ttp://aaa.jp/bbb/xxx.html と書き換えようと考えています。 ttp://aaa.jp/bbb/xxx.html と直接指定されたときは大丈夫なのですが、 ttp://aaa.jp/aaa/xxx.html と指定されたときには、 ttp://aaa.jp/bbb/xxx.html に書き換えたいのですが、なかなかうまきいきません。 どうすればできるのでしょうか? (リンク表示にならないためにhttpのhをとってます)

  • URLに付く [ ] を外したい

    現在稼働中のWebシステムの保守を担当しています。 先日、お客様から「URLに付いている [ ] を消して欲しい」との依頼がありましたが、 やり方が分からず、困っております。 現在、 xxx/aaa[]/1,2,3/bbb[]/1,2,3/ このようになっているURLを xxx/aaa/1,2,3/bbb/1,2,3/ に変更したいという依頼です。 現在、以下のようなフォームがあり <form action="xxx.php" method="GET"> <input type="checkbox" name="aaa[]" value="1"> <input type="checkbox" name="aaa[]" value="2"> <input type="checkbox" name="aaa[]" value="3"> <input type="checkbox" name="bbb[]" value="1"> <input type="checkbox" name="bbb[]" value="2"> <input type="checkbox" name="bbb[]" value="3"> </form> このフォームを送信するとURLは以下のようになりますが、 xxx.php?aaa[]=1,2,3&bbb[]=1,2,3 これを .htaccess で xxx/aaa[]/1,2,3/bbb[]/1,2,3/ というように書き換えています。 このURLを、 xxx/aaa/1,2,3/bbb/1,2,3/ に変更することはできますでしょうか? html、.htaccess、php、どの部分が改修になっても構いません。 [ ] を削除したいという理由としては、 インターネットの広告を出すときに、広告登録フォームでURLがエラーになるから、ということでした。 広告登録フォームでURLがエラーにならなければ良いのかと思い、 xxx/aaa%5b%5d/1,2,3/bbb%5b%5d/1,2,3/ というように [ ] の部分をURLエンコードする方法をお伝えしましたが、%が付くのもダメということでした。 xxx/aaa_0/1/aaa_1/2/aaa_2/3/bbb_0/1/bbb_1/2/bbb_2/3/ というように カンマ区切りじゃなくなるのも嫌だそうです。 あくまで xxx/aaa/1,2,3/bbb/1,2,3/ の形が良いとのことでした。

  • フォームタグをURLに

    フォームタグは「http://aaa.php?aaa=aaa&bbb=bbb」等で基本的にURLに変換することが出来ますが、例えば<form id="form1" name="form1" method="post" action="xxx.php?PHPSESSID=xxx"> 等の様にformタグ内に一切<input>がない場合はどの様にURLで表示させる事が出来るのでしょうか? 詳しいかたがいらっしゃいましたらご教示願います。

  • ページのURLに関して

    SEOに詳しい方に質問があります。 当方で運用しているサイトのURLが xxx.jp/aaa/title/ なのですが、このサイト以下のコンテンツのURLが xxx.jp/bbb/title/contents/ のように、一つ上のディレクトリをトップページとは別のディレクトリにしているため、インデックス数をsite:~で計測したときにトップページしか計測されません。やはりサイト以下のコンテンツのURLも xxx.jp/bbb/title/contents/ ではなく、トップページと同じように xxx.jp/aaa/title/contents/ にしなくてはSEOでは不利なのでしょうか。

    • 締切済み
    • SEO
  • $GETが取得できない場合に指定の値を使う

    PHPでURLから変数を取得できるGETというのがありますがURLにこの値が指定されていない場合に指定した値を使うことは可能でしょうか? つまりこういうことです。 $aaa = $_GET['bbb']; としている場合にURLを ~/index.php?bbb=0000 とした場合は aaa=0000 となりますが、 ~/index.php としかしなかった場合はaaaの値は取得できずにエラーになってしまうため、このaaaの値を強制的に1111に指定し aaa=1111 としてphpプログラムを続行させたいのです。 そのようなことはできますか?

    • ベストアンサー
    • PHP
  • URLと保存先を一括指定できるダウンロードツール

    今,複数のURLに対してそれぞれリンク先の解析をおこない,リンク先を含めてダウンロードする,という作業をIriaを利用して行っており(つまりはIriaのリンクのインポートです),またその際にダウンロードの際に,後々の整理の手間を考え,解析元の各URLごとにそれぞれ別の保存先フォルダを指定しています. ただ最近になって解析対象のURLが増えてきており,「URLを指定し,保存先を指定し,URLを解析させ,ダウンロードさせる」という作業を解析対象のURLの個数分繰り返すのが面倒になってきました. そこで,複数の解析対象のURLと保存先フォルダを一括で指定(登録)できるダウンロードツールを探しています. 感覚的には http://aaa~ C:\abc\~ http:://bbb~ C:\bcd\~ といったようなテキストの羅列を読み込ませることができ,その場合,まずhttp://aaa~で始まるURLを解析し,リンク先をダウンロードしてC:\abc~に保存し,次にhttp:://bbb~を解析し,といった作業を自動的に実行してくれるツールが欲しいのですが. 説明が分かりにくいかと思いますが,よろしくお願いします.

  • 特定のURL以外からは飛ばす

    reff=document.referrer; if(reff.indexOf('http://AAA')!=-1){ location.replace('http://BBB') } (詳細略) http://AAA というURLから来た場合、http://BBBというURLに飛ばすスクリプトですが、 これを http://AAA 以外から来た場合、http://BBBというURLに飛ばすようにするためには どこを改正すればよろしいでしょうか?

  • VB6.0 フォルダ配下(サブフォルダ含む)のファイルを全て読み込む方法

    環境 OS:WINDOWS 2000 PRO ソフト:VisualBasic 6.0 指定したフォルダ配下の全てのhtmlファイルを読み込む機能を作成したいと考えています。 C:\AAA\BBB\CCC\sample1.html C:\AAA\BBB\CCC\sample2.html C:\AAA\BBB\CCC\DDD\sample3.html C:\AAA\BBB\CCC\DDD\EEE\sample4.html C:\AAA\XXX\YYY\ZZZ\sample5.html 以上のような構造になっていた場合に、ルートフォルダとして『C:\AAA』を指定し、その配下全てのhtmlファイルを読み込み、1ファイルずつ加工したいと考えています。 何階層にも渡るファイルを全て読み込む方法がわかりません。 よろしくお願い致します。

  • mod_rewriteの変換について

    こんにちは。 現在、業務でmod_rewriteの設定をしているのですが、こまっています。 やりたい事は http://localhost/hoge/aaa/bbb/ のアクセスがきた時に http://localhost/hoge/?action_aaa_bbb_index=true の内容を表示したいです。 但し、URLは http://localhost/hoge/aaa/bbb/ という感じです。 他のサイトで調べて、設定をしたのですがどうしても http://localhost/hoge/aaa/bbb/ アクセスすると http://localhost/hoge/以下のディレクトリィが表示されてしまいます。 また最後のオプションを[R]にすると表示はされますが http://localhost/hoge/?action_aaa_bbb_index=true にURLが書き換わってしまいます。 (これは当然なので、認識しています。) 以下、設定を記述します。 よろしくお願いします。 ■環境 windows XP apache2.2 ■記述箇所 httpd.conf --------設定内容--------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/hoge/([0-9A-Za-z]+)/([0-9A-Za-z]+)/?$ /hoge/?action_$1_$2_index=true [L] AllowEncodedSlashes On

  • htaccess.サブディレクトリURL非表示

    お世話になります。 以下のようなサイトがあるとします。 http://hoge.com/index.php ←ログインフォーム http://hoge.com/aaa/index.php ←会員用サイト http://hoge.com/bbb/index.php ←非会員用サイト 最初のアクセスは必ず/index.phpが受け取り、ログイン判定後/aaaか/bbbにリダイレクトします。この時に、aaaやbbbをURLに表示させない方法はあるのでしょうか。 よろしくお願いいたします。

専門家に質問してみよう