2012-04-23 57 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卡/'

這會給你第一次出現你的字符串的索引。

相關問題