2015-04-27 177 views
-5
public void a(){ 

     File dir = new File("/mnt/sdcard/files"); 
     String[] children = dir.list(); 

     for (String s : children){ 

      if(s.contains("cache")){ 

      System.out.println(s); 

      // Means Found 
      Toast.makeText(getApplicationContext(), "Found", Toast.LENGTH_SHORT).show(); 

      } 
     } 

     // Means No Found 
     Toast.makeText(getApplicationContext(), "Not Found", Toast.LENGTH_SHORT).show(); 
     return; 
    } 

什麼,我實際上是尋找是,像返回字符串,並用它在每一個不同的充字符串

  • 我有「到/ mnt/SD卡/文件」,這裏

  • 許多文件我想搜索包含一些已知名稱的文件讓我們可以採取「緩存」 ,我可以這樣列出

System.out.println(s);

輸出將是

  • cache.bin
  • newcachete.txt
  • filecache

像這樣

但是其實我是想的是,這個函數返回文件的全名,其中包括單詞「緩存」,而在另一個功能

例如分配給它的不同的字符串值,如果這個函數返回的字符串= newcachete.txt使我可以在另一個函數爲其賦值這樣

public void newfunction(){ 

String new = a(); 
// this string will contain newcachete.txt 

} 

但也許有許多文件conataining這個名字,所以我想要回我可以在新函數分配的所有文件名

例如

public void newfunction(){ 

String new = a(); 
// this string will contain newcachete.txt 
// and like that i want it to conatain every different name 
/* 
String a = cachenew.bin; 
String b = filecachete.txt; 
*/ 

} 

不同的功能 任何可能的方式?

謝謝您的回答我很感激給我你的時間:)

即時尋找更好的答案

+0

你可以將其存儲在陣列。 –

+0

你能寫一些代碼幫助嗎? – helloworldandroid

+0

cachenew.bin是什麼? – dsharew

回答

1

嘗試

public List a(){ 

    File dir = new File("/mnt/sdcard/files"); 
    String[] children = dir.list(); 
    ArrayList <String> files = new ArrayList <String>(); 

    for (String s : children){ 

     if(s.contains("cache")){ 

      System.out.println(s); 
      files.add (s); 

     } 
    } 

    return files; 
} 
+0

,但我怎樣使用它的下一個函數(如String)A = A()[0]指數0和[1];類似的東西 – helloworldandroid

+0

你問 –

+0

我不明白我的意思列表中添加所有的名字連在一起,有什麼即時尋找的是把不同的價值在不同的字符串,如字符串A =包含第一緩存文件和字符串B =含有第二緩存文件,但列表的結果[cache1中cache2]但我想每個人在不同的字符串 – helloworldandroid

0

如果名稱newold攜帶一些意思,你可以返回Map<String,String>,其中關鍵字是名稱(例如,newold)以及文件名的值。

例如,在你的例子

字符串一個= cachenew.bin;字符串b = cacheold。倉;

這樣我就可以使用

String new = a;字符串舊= B;

你可以寫(假設cachenew.bincacheold.bin是變量,因爲你寫的):

public Map<String,String> a() { 
    ... 


    Map<String, String> result = new HashMap<String,String>(); 

    result.put("new", cachenew.bin); 
    result.put("old", cacheold.bin); 

    return result; 
} 

,然後用它作爲

Map<String, String> res = a(); 

String newS = res.get("new"); // "new" is not a good variable name :-) 
String oldS = res.get("old"); 
+0

我會給這個一票最多的,將工作很好,但不知何故,我固定它自己,使之簡單,感謝您的時間和精力兄弟:)))) – helloworldandroid

相關問題