在程序中,我使用以下代码复制了asset文件夹中的所有的内容,自己创建了文件夹。
File wallpaperDirectory = new File("/sdcard/Wallpaper/");
wallpaperDirectory.mkdirs();
AssetManager assetManager = getAssets();
String[] files = null;
try {
files = assetManager.list("");
} catch (IOException e) {
Log.e("tag", e.getMessage());
}
for(String filename : files) {
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open(filename);
out = new FileOutputStream("/sdcard/Wallpaper/" + filename);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(Exception e) {
Log.e("tag", e.getMessage());
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}
我想获得这个文件夹的URL地址,例如:/sdcard/Wallpaper/。我创建了文件夹,但是没有得到文件夹的URL地址。大家看看问题出在哪里?
在SDcard中获取指定文件夹的URL
String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath();
Uri.fromFile(new File(sdcard+"/Wallpaper/"));
或者:
Uri.parse(sdcard+"/Wallpaper/")
Uri uri = Uri.fromFile(new File("/sdcard/Wallpaper/"));
或者
Uri uri = Uri.parse("/sdcard/Wallpaper/");
试一下这个方法:
先获得文件的路径
File path = "/sdcard/Wallpaper/";
然后再把文件的路径转换成url
Uri imageurl = Uri.fromFile(path);