我想在我的应用程序中使用图像的uri值(在磁盘上的位置)。为此,我必须使用以/ sdcard /开头的字符串...如何在java中读取某个字的字符串?
我可以打开文件管理器来帮助选择图片,但即使如此,每个文件管理器都会在前面添加一些内容,无论是/ mnt/sdcard或其他东西。我无法使用子字符串,因为/ sdcard前面的字母数量不总是相同的。
我想从/ sdcard开始读取这个字符串,有没有办法做到这一点?
我想在我的应用程序中使用图像的uri值(在磁盘上的位置)。为此,我必须使用以/ sdcard /开头的字符串...如何在java中读取某个字的字符串?
我可以打开文件管理器来帮助选择图片,但即使如此,每个文件管理器都会在前面添加一些内容,无论是/ mnt/sdcard或其他东西。我无法使用子字符串,因为/ sdcard前面的字母数量不总是相同的。
我想从/ sdcard开始读取这个字符串,有没有办法做到这一点?
您可以使用String.lastIndexOf找到“/ SD卡”,然后最后一次出现用通常的串读其余从索引+偏移...
你可以做到这一点,像这样:
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();
然后,你必须在文件路径的路径!
嗯。看起来像一个非常简单的问题,使用indexOf(“/ sdcard”)来查找“/ sdcard”的位置,然后从这一点开始你的子串。
字符串#子(字符串#的indexOf(“/ SD卡”),字符串#长度())
U可以使用函数
的indexOf(字符串str)
其中str是 '/ SD卡/'
这会给你第一次出现你的字符串的索引。
** string.replace(“/ sdcard”,“/ sdcard”+ uri)** ..? – ngesh 2012-04-23 09:01:09