如何将URI获取到指定位置?

时间:2012-09-07 11:43:30

标签: android android-layout android-intent android-widget

我需要你帮助解决我在我的应用中发现的一个小问题。

在我的应用中,我使用此代码将资产文件夹的所有内容复制到我自己创建的文件夹中。

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);
    }
}

现在我需要你创建的'这个文件夹的URI(/ sdcard / Wallpaper /),因为你得到了吗?非常感谢你

4 个答案:

答案 0 :(得分:2)

在SD卡上获取Uri特定文件夹。

String sdcard = Environment.getExternalStorageDirectory().getAbsolutePath();

Uri.fromFile(new File(sdcard+"/Wallpaper/"));

或者

Uri.parse(sdcard+"/Wallpaper/")

答案 1 :(得分:1)

Uri uri = Uri.fromFile(new File("/sdcard/Wallpaper/"));

Uri uri = Uri.parse("/sdcard/Wallpaper/");

答案 2 :(得分:1)

试试这个

获取文件路径

File path = "/sdcard/Wallpaper/";

通过以下代码将文件路径转换为Uri

Uri imageurl = Uri.fromFile(path); 

希望它有所帮助。

答案 3 :(得分:0)

您可以使用public static Uri fromFile (File file)中的android.net.Uri方法。