0
私は多くのコードスニペットをチェックしてバッファーの有無にかかわらず、SDカード全体のファイルをダウンロードすることはできません。私が現在使用してコードは次のとおりです。Android - ファイルダウンロードの問題 - 不完全なファイル
try {
url = new URL("http://mywebsite.com/directory/");
} catch (MalformedURLException e1) { }
String filename = "someKindOfFile.jpg"; // this won't be .jpg in future
File folder = new File(PATH); // TODO: add checking if folder exist
if (folder.mkdir()) Log.i("MKDIR", "Folder created");
else Log.i("MKDIR", "Folder not created");
File file = new File(folder, filename);
try {
conn = url.openConnection();
is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(baf.toByteArray());
fos.close();
is.close();
} catch (IOException e) { }
このコードは、ファイルの唯一の77バイトをSDカード上のディレクトリが作成されますが、ダウンロードされます。何が問題なのでしょうか?
どうやって77バイトしかダウンロードできないのですか? –
@ chirag-shag 77バイトはDDMSエミュレータのファイルサイズです。SDカードファイルエクスプローラ – yosh
予想される結果は何ですか? wgetやcurlのようなツールを使って同じコンテンツをダウンロードしようとしましたが、あなたのコードがダウンロードしているものと比較してみましたか?あなたが作成する77バイトのファイルの内容は何ですか? – RivieraKid