2010/11/03

DropboxAPI.getFileStream

Dropboxアカウントの任意パスにあるファイルにアクセスするAPI
import com.dropbox.client.DropboxAPI;
import com.dropbox.client.DropboxAPI.FileDownload;

FileDownload DropboxAPI.getFileStream(String arg0, String arg1, String arg2);


返り値のFileDownloadのメンバにInputStream型やOutputStream型のメンバを持つので、それを使ってファイル内容を読み込んだり書き込んだり・・・って使い方。

各引数は、

  • arg0 : "dropbox"固定ぽい
  • arg1 : login userのDropbox rootからのpath + filename
  • arg2 : HashCodeらしい。。。。とりあえずnullで動くけど・・・なんなんだろうね?

使用例
String dir = "/";
String filename = "test.txt";
FileDownload fd = api.getFileStream("dropbox", dir+filename, null);
BufferedReader reader = new BufferedReader(new InputStreamReader(fd.is));
後は、BufferedReader.ReadLineを使いご自由にファイルアクセスしてくんなまし。
その他メモ
  • FileDownload.HasErrがTrueならなんらかの失敗してます
  • 理由はHttpCodeとかHttpReasonとか見ればわかる(404ならファイルがネーヨ!とかね
  • Http404 File Not Foundの場合、FileDownload.isからStringを一行読んだら、{"error":"File not found"}が入ってた