我对PDF文件感到困惑

来源:爱站网时间:2021-09-16编辑:网友分享
如果我用这种方式在PDF周围编写代码,则说这是无效的,无法打开,但是如果我将它们交换并在A之前加上B,则可以正常工作吗?这是为什么?要使其正常工作,我该怎么办? TIA ...

问题描述


如果我用这种方式在PDF周围编写代码,则说这是无效的,无法打开,但是如果我将它们交换并在A之前加上B,则可以正常工作吗?这是为什么?要使其正常工作,我该怎么办? TIA

    InputStream in = new BufferedInputStream(conn.getInputStream());
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));

//A
    String line = "";
                StringBuilder builder = new StringBuilder();
                try {
                    while ((line = reader.readLine()) != null) {
                        builder.append(line);
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }

//B
    File directory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);
            File outputFile = new File(directory, "goo.pdf");
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(outputFile);
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            byte[] buffer = new byte[1024];
            int len1 = 0;//init length
            while (true) {
                try {
                    if (!((len1 = in.read(buffer)) != -1)) break;
                } catch (IOException e) {
                    e.printStackTrace();
                }
                try {
                    fos.write(buffer, 0, len1);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }

思路:


您只能读取一次InputStream。在“ A”中,读取流并将其内容放入StringBuilder中。在“ B”中,读取流(现在为空)并将其通过管道传输到文件。

只需删除A,因为这里没有为您做任何事情。

上一篇:Java Swing JTextPane文本/ html不遵循禁用的属性

下一篇:为什么不能打印?

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载