文件mkdirs()方法在android / 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()方法从不创建目录。我已经尝试了从显式括号到显式制作父文件类的所有内容,似乎没有任何效果。我相当确定该驱动器是可写的,因为只有在确定驱动器之后才能调用该驱动器,在调试过程中对其进行遍历后也是如此。因此该方法失败,因为未创建父目录。谁能告诉我我的通话方式有问题吗?

另外,如果有帮助,这是我在其中调用的文件的来源:

https://github.com/LeifAndersen/NetCatch/blob/master/src/net/leifandersen/mobile/android/netcatch/services/RSSService.java

谢谢

回答:

如果您要将内容写入SD卡,希望您已android.permission.WRITE_EXTERNAL_STORAGE在清单中添加了权限

以上是 文件mkdirs()方法在android / java中不起作用 的全部内容, 来源链接: utcz.com/qa/415179.html

回到顶部