Mar 18, 2006

Java から Web ブラウザと MUA を起動

Mustang を眺めていたら、何と Web ブラウザと MUA を起動する API を発見!! 早速チャレンジ。
単純に API を呼んでみたところ何の障害もなく Web ブラウザの起動に成功した。
普段使いのメールアドレスが全て Gmail になっているため、MUA は起動確認できず。 そもそも MUA がインストールされていない orz
Mustang では Web ブラウザや MUA 以外にもファイルに関連づけられたアプリケーションの起動ができる。 試しに Explorer とテキストエディタを起動してみたが、どちらもうまくいった。

Class Desktop
http://download.java.net/jdk6/docs/api/java/awt/Desktop.html

サンプルコード

package jp.in_vitro.codelets.awt;

import java.awt.Desktop;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URL;

public class Codelet2 {

    public Codelet2() {
        super();
    }

    public static void main(String[] args) throws MalformedURLException,
            IOException, URISyntaxException {
        Codelet2 me = new Codelet2();
        me.runWebBrowser();
        me.runMailer();
        me.runExplorer();
        me.runTextEditor();
    }

    protected void runWebBrowser() throws MalformedURLException, IOException,
            URISyntaxException {
        Desktop.getDesktop().browse(
                new URL("http://www.in-vitro.jp/blog").toURI());
    }

    protected void runMailer() throws IOException {
        Desktop.getDesktop().mail();
    }

    protected void runExplorer() throws IOException {
        Desktop.getDesktop().open(new File("c:\\"));
    }

    protected void runTextEditor() throws IOException {
        File dummyTextFile = new File("c:\\hogehoge.txt");
        OutputStream os = null;
        try {
            os = new FileOutputStream(dummyTextFile);
            os.write("this is temporary file.".getBytes());
        } finally {
            if (os != null) {
                os.close();
            }
        }

        Desktop.getDesktop().open(dummyTextFile);
    }
}

TrackBack ping me at
http://www.in-vitro.jp/blog/index.cgi/Mustang/20060318_01.trackback
Post a comment

writeback message: Ready to post a comment.