0

我正在尝试从服务器下载 pdf 并在 android micromax funbook 中显示它。

我收到错误,因为文档大小为空(0 KB)。打开 pdf 文件时...

我是 android 新手,建议我使用的编码是正确的还是不适合下载

 public static void DownloadFile(String fileURL, File directory) {
    try {

                    FileOutputStream f = new FileOutputStream(directory);
                    URL u = new URL(fileURL);
                    HttpURLConnection c = (HttpURLConnection) u.openConnection();
                    c.setRequestMethod("GET");
                    c.setDoOutput(true);
                    c.connect();
                    InputStream in = c.getInputStream();
                    byte[] buffer = new byte[1024];
                    int len1 = 0;
                    while ((len1 = in.read(buffer)) > 0) {
                            f.write(buffer, 0, len1);
                    }
                    f.close();
            } catch (Exception e) {
                    e.printStackTrace();
            }
    }

以及显示pdf的代码。

    public void showPdf() {
            File file = new File(Environment.getExternalStorageDirectory()
                    + "/pdf/Read.pdf");
            PackageManager packageManager = getPackageManager();
            Intent testIntent = new Intent(Intent.ACTION_VIEW);
            testIntent.setType("application/pdf");
            List list = packageManager.queryIntentActivities(testIntent,
                    PackageManager.MATCH_DEFAULT_ONLY);
            Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            Uri uri = Uri.fromFile(file);
            intent.setDataAndType(uri, "application/pdf");
            startActivity(intent);
        }
4

2 回答 2

0

您应该使用c.openStream();而不是c.getinputstream();.

于 2012-07-30T10:49:58.620 回答
0

使用DownloadManager而不是编写自己的下载代码。

于 2012-07-30T10:28:20.837 回答