如何从字节数组下载epub文件



我正在尝试做一些类似的事情:

public void onClick(View v) {
            WebServiceC webService = WebServiceC();
            epubDownloaded = webService.downloadEpub(publi.getId());
             File fileEpub=new File(Environment.getExternalStorageDirectory(), "test.epub");
             if (fileEpub.exists()) {
                fileEpub.delete();
              }
             try {
                    FileOutputStream fos=new FileOutputStream(arquivoEpub.getPath());
                    fos.write(epubDownloaded);
                    fos.close();
                  }catch (IOException e) {
                        e.printStackTrace();
                    }
        }
    });

但它不起作用。

致命异常:位于的主java.lang.NullPointerExceptionjava.io.OutputStream.write(OutputStream.java:82)

------------------------------------编辑------------------------------------------谢谢我用这种方式解决了我的问题->

 int count;
                    WebServiceC webService = new WebServiceC();
                    epubDownloaded = webService.downloadEpub(publi.getId());
                    InputStream input = new ByteArrayInputStream(epubDownloaded);
                    OutputStream output = null;
                    try {
                        output = new FileOutputStream(Environment.getExternalStorageDirectory()+"/test.epub");
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }
                    byte data[] = new byte[1024];
                    try {
                        while ((count = input.read(data)) != -1) {
                            output.write(data, 0, count);
                        }
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

在您的代码中,我唯一能看到可以抛出的NullPointerException的位置是FileOutputStream fos=new FileOutputStream(arquivoEpub.getPath());行。

FileOutputStream的构造函数唯一可以抛出NullPointerException的时间是通过其构造函数FileOutputStream(FileDescriptor fdObj)向其传递null值。我不知道函数arquivoEpub.getPath()返回了什么,所以我不能做任何其他猜测。

此外,如果可能的话,准确地公布哪一行对应于第82行,因为这是引发异常的行。

相关内容

  • 没有找到相关文章

最新更新