如何从java中的某个单词开始读取字符串?

时间:2012-04-23 08:57:26

标签: java android

我想在我的应用中使用图像的uri值(磁盘上的位置)。为此,我必须使用以/ sdcard /...

开头的字符串

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

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

4 个答案:

答案 0 :(得分: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();

然后你有文件路径中的路径!

答案 1 :(得分:0)

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

String #substring(String #indexOf(“/ sdcard”),String#length())

答案 2 :(得分:0)

您可以使用String.lastIndexOf查找“/ sdcard”的最后一次出现,然后使用index + offset中的常用子字符串读取其余内容...

答案 3 :(得分:0)

你可以使用功能

indexOf(String str)

其中str是'/ sdcard /'

这将为您提供首次出现字符串的索引。