2014-04-09 2 views
0

에서 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(); 
        } 
     } 

    }); 

을하지만 그것은 작동하지 않습니다.

FATAL EXCEPTION : 메인 java.lang.NullPointerException이 java.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(); 
        } 
+0

감사합니다. 이제 작업 내용이 변경되었습니다. – rnnhma

답변

0

내가 볼 수있는 코드에서 유일하게하는 NullPointerException 그 수 던져 질 줄은입니다..

FileOutputStream의 생성자가 NullPointerException을 던질 수있는 유일한 경우는 해당 생성자가 null 값으로 전달 될 때입니다. FileOutputStream(FileDescriptor fdObj). 어떤 기능을 arquivoEpub.getPath()이 반환하는지 모르겠으므로 다른 추측을 할 수 없습니다.

또한 가능한 경우 예외가 발생하는 행인 82 행에 정확히 어떤 행을 게시하십시오.

관련 문제