获得百度的数据有两种方式,一种是用Url从流中获得,另一种是直接打开浏览器.文字识别(OCR)后再转码可以快速百度
public static void main(String[] args) throws IOException { //url链接地址 String localpath = "http://www.baidu.com/s?tn=ichuner&lm=-1&word=" + URLEncoder.encode("江苏省会", "gb2312") + "&rn=1"; URL url = new URL(localpath); //根据url直接获得返回的数据 BufferedReader breaded = new BufferedReader(new InputStreamReader(url.openStream(),"UTF-8")); while ( breaded.readLine() != null) { //打印这些数据 System.out.println(breaded.readLine()); } //获得系统类型 String osName = System.getProperty("os.name", ""); System.out.println(osName); if (osName.startsWith("Windows")) { //如果是windows系统 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + localpath); //打开浏览器 } }
Process process = Runtime.getRuntime().exec() //调用电脑的命令
process.waitFor(); //等待此进程执行完毕,为了返回结果
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[]{path}); } else if (osName.startsWith("Windows")) { //windows的打开方式。 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + path); } else if (osName.startsWith("Linux")) { //Linux的打开方式 Desktop desktop = Desktop.getDesktop(); desktop.browse(URI.create(path)); }