2016-10-24 13 views
0

私は私のコードでこれらの3つのエラーだ:Googleドライブから(Java)のファイルのダウンロードエラー

例外スレッド "メイン" のjava.lang.NullPointerExceptionで:ここでエラーの結果だ

private static void downloadFile(Drive service, String fileId) { 
    try { 

     OutputStream outputStream = new FileOutputStream("test.csv"); 
     service.files().export(fileId, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet").executeMediaAndDownloadTo(outputStream); 

    } catch (IOException e) { 
     // An error occurred. 
     e.printStackTrace(); 
    } 
} 

を googleBaru.mainClass.main(mainClass.java:60)

で googleBaru.mainClass.downloadFile(mainClass.java:51)で、私はいずれかを願っています一つは私のコードを修正することができ、またはどのように私は私の悪い英語のため申し訳ありません

多くのおかげで、(パラメータサービスとFILEIDで)メソッドを呼び出すに行うこととしています

+0

あなたの 'Drive'オブジェクトが存在し、適切に初期化されたと仮定すると、出力ストリームを' test.csv'という相対位置で開こうとしています。代わりに絶対パスを使用してみてください。 –

+0

[NullPointerExceptionとは何か、それを修正する方法は?](http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it) ) – DaImTo

答えて

0

私は私のコードでこれらの3つのエラーを得ました。

実際には、これはスタックトレースです.3つではなく、1つのエラーについて説明します。

エラーは、mainclass.javaファイルの51行目にあります。それは、このいずれかになります:

  • service参照がnullになる可能性があり、
  • serviceは、その後のJavaの観点からこれを見て、Drive対象となっていると仮定すると

    service.files().export(fileId, 
         "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"). 
         executeMediaAndDownloadTo(outputStream); 
    

    files()メソッドはnullを返す可能性があります(私は思います)、または

  • export()メソッドはnull(私は不可能だと思う)。

「不可能な」ケースは、私がDrive API javadocsを読んだことによるものです。

要するに、もっともらしい説明は、serviceの参照がnullであるということです。理由を調べ、原因を修正します。ファイルパスについてTimBiegeleisenさんのコメント@


も正しいかもしれないが、それはあなたが見ているNullPointerExceptionの原因ではありません。

関連する問題