文件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