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

      }



你可能感兴趣的:(android,pdf)