2012-04-23 58 views
0

我想在我的应用程序中使用图像的uri值(在磁盘上的位置)。为此,我必须使用以/ sdcard /开头的字符串...如何在java中读取某个字的字符串?

我可以打开文件管理器来帮助选择图片,但即使如此,每个文件管理器都会在前面添加一些内容,无论是/ mnt/sdcard或其他东西。我无法使用子字符串,因为/ sdcard前面的字母数量不总是相同的。

我想从/ sdcard开始读取这个字符串,有没有办法做到这一点?

+0

** string.replace(“/ sdcard”,“/ sdcard”+ uri)** ..? – ngesh 2012-04-23 09:01:09

回答

0

您可以使用String.lastIndexOf找到“/ SD卡”,然后最后一次出现用通常的串读其余从索引+偏移...

1

你可以做到这一点,像这样:

File cacheDir; 
    if (android.os.Environment.getExternalStorageState().equals(
      android.os.Environment.MEDIA_MOUNTED)) { 
     cacheDir = new File(
       android.os.Environment.getExternalStorageDirectory(), 
       getString(R.string.cache_directory_image_cache)); 
    } else { 
     cacheDir = getCacheDir(); 
    } 

    String filepath = cacheDir.getAbsolutePath(); 

然后,你必须在文件路径的路径!

0

嗯。看起来像一个非常简单的问题,使用indexOf(“/ sdcard”)来查找“/ sdcard”的位置,然后从这一点开始你的子串。

字符串#子(字符串#的indexOf(“/ SD卡”),字符串#长度())

0

U可以使用函数

的indexOf(字符串str)

其中str是 '/ SD卡/'

这会给你第一次出现你的字符串的索引。

相关问题