Android下载并打开pdf文件
- - ITeye博客下载并打开pdf文件,前提是手机上有可打开pdf文件的应用. System.out.println("我点击了按钮");. System.out.println("下载完成");. System.out.println("打开");. System.out.println("打开失败");. 已有 0 人发表留言,猛击->> 这里<<-参与讨论.
System.out.println("我点击了按钮"); String urlString = "http://public.dhe.ibm.com/common/ssi/ecm/en/wsd14109usen/WSD14109USEN.PDF"; try { URL url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setDoInput(true); connection.setDoOutput(true); connection.setUseCaches(false); connection.setConnectTimeout(5000); connection.setReadTimeout(5000); //实现连接 connection.connect(); System.out.println("connection.getResponseCode()="+connection.getResponseCode()); if (connection.getResponseCode() == 200) { InputStream is = connection.getInputStream(); //以下为下载操作 byte[] arr = new byte[1]; ByteArrayOutputStream baos = new ByteArrayOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(baos); int n = is.read(arr); while (n > 0) { bos.write(arr); n = is.read(arr); } bos.close(); String path = Environment.getExternalStorageDirectory() + "/download/"; String[] name = urlString.split("/"); path = path + name[name.length - 1]; System.out.println("name="+name); System.out.println("path="+path); File file = new File(path); FileOutputStream fos = new FileOutputStream(file); fos.write(baos.toByteArray()); fos.close(); //关闭网络连接 connection.disconnect(); System.out.println("下载完成"); if (file.exists()) { System.out.println("打开"); Uri path1 = Uri.fromFile(file); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(path1, "application/pdf"); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); try { startActivity(intent); } catch (ActivityNotFoundException e) { System.out.println("打开失败"); } } } } catch (IOException e) { // TODO: handle exception System.out.println(e.getMessage()); }