Newsgroup: it.comp.java
Titolo: script x browser di default

Sto cercando di eseguire un coando che mi apra il browser di default e 
che sia multi piattaforma.
Per il momento uso
                                Runtime rt=Runtime.getRuntime();
                                try
                                {
                                Process browser=rt.exec("\"C:\\Program 
Files\\Internet Explorer\\iexplore.exe\" \"" + urlesportazioni + 
"/prova.rar\"" );
                                }
                                catch(IOException e)
                                {
                                System.out.println( e.getMessage() );
                                }
-- 
Questa è una firma automatica di MesNews.
Sito: 
http://www.mesnews.net

> F
Penso che funzioni con
Process browser=rt.exec("start 
http://java.sun.com
" );


 che sia multi piattaforma.
Io uso questa (trovata in giro per la rete):
import java.io.IOException;
import java.util.Date;
/**
* A simple, static class to display a URL in the system browser.
*
* Under Unix, the system browser is hard-coded to be 'netscape'.
* Netscape must be in your PATH for this to work.  This has been
* tested with the following platforms: AIX, HP-UX and Solaris.
*
* Under Windows, this will bring up the default browser under windows,
* usually either Netscape or Microsoft IE.  The default browser is
* determined by the OS.  This has been tested under Windows 95/98/NT.
*
* Examples:
<ul>
    <li> BrowserControl.displayURL("
http://www.javaworld.com
")</li>
    <li> BrowserControl.displayURL("file://c:\\docs\\index.html")</li>
    <li> BrowserContorl.displayURL("file:///user/joe/index.html");</li>
</ul>
* Note - you must include the url type -- either "http://" or
* "file://".
*/
public class BrowserControl {
 
    /**
     * Display a file in the system browser.  If you want to display a
     * file, you must include the absolute path name.
     *
     * @param url the file's url (the url must start with either
"http://" or
     * "file://").
     */
 
    public static void displayURL(String url) {
        boolean windows = isWindowsPlatform();
        String cmd = null;
        try     {
            if (windows) {
                // cmd = 'rundll32 url.dll,FileProtocolHandler
http://...'
                cmd = WIN_PATH + " " + WIN_FLAG + " " + url;
                Process p = Runtime.getRuntime().exec(cmd);
            } else {
                // Under Unix, Netscape has to be running for the
"-remote"
                // command to work.  So, we try sending the command and
                // check for an exit value.  If the exit command is 0,
                // it worked, otherwise we need to start the browser.
                // cmd = 'netscape -remote
openURL(
http://www.javaworld.com
)'
                cmd = UNIX_PATH + " " + UNIX_FLAG + " " + url;
                Process p = Runtime.getRuntime().exec(cmd);
                try {
                    // wait for exit code -- if it's 0, command worked,
                    // otherwise we need to start the browser up.
                    int exitCode = p.waitFor();
                    if (exitCode != 0) {
                        // Command failed, start up the browser
                        // cmd = 'netscape 
http://www.javaworld.com
'
                        cmd = UNIX_PATH + " "  + url;
                        p = Runtime.getRuntime().exec(cmd);
                    }
                } catch(InterruptedException x) {
                    GenFunc gf = new GenFunc();
                    Date curDate = new Date();
                    gf.appendFile("error.log", curDate + " - Metodo
displayURL - " + x.getMessage() + "\n"); // TODO
                }
            }
        } catch(IOException x) {
            GenFunc gf = new GenFunc();
            Date curDate = new Date();
            gf.appendFile("error.log", curDate + " - Metodo displayURL -
" + x.getMessage() + "\n"); // TODO
        }
    }
    /**
     * Try to determine whether this application is running under
Windows
     * or some other platform by examing the "
os.name
" property.
     *
     * @return true if this application is running under a Windows OS
     */
    public static boolean isWindowsPlatform() {
        String os = System.getProperty("
os.name
");
        if ( os != null && os.startsWith(WIN_ID))
            return true;
        else
            return false;
    }
    /*
    // Simple example.
    public static void main(String[] args)
    {
        displayURL("
http://www.javaworld.com
");
    }
    */
    // Used to identify the windows platform.
    private static final String WIN_ID = "Windows";
    // The default system browser under windows.
    private static final String WIN_PATH = "rundll32";
    // The flag to display a url.
    private static final String WIN_FLAG =
"url.dll,FileProtocolHandler";
    // The default browser under unix.
    private static final String UNIX_PATH = "mozilla";
    // The flag to display a url.
    private static final String UNIX_FLAG = "-remote";
}

Usa questo...
funziona molto bene
http://browserlauncher.sourceforge.net/