私は今この間私の髪を引き出しています。次の方法では、ファイルをダウンロードし、ハードドライブに指定された場所に保存することになっています。ファイルmkdirs()メソッドがアンドロイド/ javaで動作しません
private static void saveImage(Context context, boolean backgroundUpdate, URL url, File file) {
if (!Tools.checkNetworkState(context, backgroundUpdate))
return;
// Get the image
try {
// Make the file
file.getParentFile().mkdirs();
// Set up the connection
URLConnection uCon = url.openConnection();
InputStream is = uCon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
// Download the data
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
// Write the bits to the file
OutputStream os = new FileOutputStream(file);
os.write(baf.toByteArray());
os.close();
} catch (Exception e) {
// Any exception is probably a newtork faiilure, bail
return;
}
}
また、ファイルが存在しない場合、ファイルのディレクトリを作成することになっています。 (そして、すでにその場所に別のファイルがある場合は、何もしないでください)。しかし、何らかの理由で、mkdirs()メソッドは決してディレクトリを作成しません。私は明示的な括弧から明示的に親ファイルクラスを作成するまで、すべてを試しましたが、何も動作しないようです。私は、ドライブが書き込み可能であることはかなり確信しています。それは、それが既に決定された後にのみ呼び出されるため、デバッグ中にドライブを実行した後も同じです。親ディレクトリが作成されていないため、メソッドが失敗します。私はそれを呼んでいる方法に何か悪いことがあれば誰でも教えてもらえますか?それは場合に役立ちます
はまた、ここで私はそれを呼んでいるファイルのソースです:
は
私はそれを信じられない、それは働いた。私は今、馬鹿のように感じる。一方で、奇妙なプロジェクトの他のリビジョンを魔法のように修正していました。どうもありがとうございました。 –