继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java程序中内容,自动在浏览器打开

qq_谜一样_0
关注TA
已关注
手记 4
粉丝 7
获赞 34

测试启动类

public class TestSaveFile {
    public static void main(String[] args) {
        String context="<html><body>hello world</body></html>";
        SaveFile.openInBrowser(context);

    }
}

SaveFile类

public class SaveFile {

    public static void openInBrowser(String content){

        FileOutputStream fop = null;
        File file;
        String url="C:/Users/Administrator/Desktop/test.html";//自定义文件保存的路径
        try {

            file = new File(url);
            fop = new FileOutputStream(file);

            // if file doesnt exists, then create it
            if (!file.exists()) {
                file.createNewFile();
            }

            // get the content in bytes
            byte[] contentInBytes = content.getBytes();

            fop.write(contentInBytes);
            fop.flush();
            fop.close();
            //调用BareBonesBrowserLaunch类方法,在浏览器中打开
            BareBonesBrowserLaunch.openURL(url);

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (fop != null) {
                    fop.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}

BareBonesBrowserLaunch类

public class BareBonesBrowserLaunch {
    public static void openURL(String url){
        try {
            browse(url);
        }catch (Exception e){

        }
    }

    private static void browse(String url)throws Exception {
        //获取操作系统的名字
        String osName = System.getProperty("os.name", "");
        if (osName.startsWith("Mac OS")) {
            //苹果的打开方式
            Class fileMgr = Class.forName("com.apple.eio.FileManager");
            Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] { String.class });
            openURL.invoke(null, new Object[] { url });
        } else if (osName.startsWith("Windows")) {
            //windows的打开方式。
            Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url);
        } else {
            // Unix or Linux的打开方式
            String[] browsers = { "firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
            String browser = null;
            for (int count = 0; count < browsers.length && browser == null; count++)
                //执行代码,在brower有值后跳出,
                //这里是如果进程创建成功了,==0是表示正常结束。
                if (Runtime.getRuntime().exec(new String[] { "which", browsers[count] }).waitFor() == 0)
                    browser = browsers[count];
            if (browser == null)
                throw new Exception("Could not find web browser");
            else
                //这个值在上面已经成功的得到了一个进程。
                Runtime.getRuntime().exec(new String[] { browser, url });
        }
    }

}
打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP