Android下载并打开pdf文件

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());

      }



转载于:https://my.oschina.net/hejunbinlan/blog/380219

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值