Java 返回字符串并在每个不同的字符串中使用它
我真正想要的是Java 返回字符串并在每个不同的字符串中使用它,java,android,Java,Android,我真正想要的是 我在这里的“/mnt/sdcard/files”中有许多文件 我想搜索包含一些已知名称的文件,让我们使用“缓存” 我可以这样列出 public void a(){ File dir = new File("/mnt/sdcard/files"); String[] children = dir.list(); for (String s : children){ if(s.contains("cach
- 我在这里的“/mnt/sdcard/files”中有许多文件
- 我想搜索包含一些已知名称的文件,让我们使用“缓存” 我可以这样列出
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;
}
系统输出打印项次
输出将是
- cache.bin
- newcachete.txt
- 文件缓存
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;
}
但我真正想要的是,这个函数返回文件的全名,其中包括单词“cache”,并在另一个函数中的不同字符串中为其赋值
例如,如果这个函数返回String=newcachete.txt,那么我可以在另一个类似这样的函数中分配它的值
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;
}
但由于可能有很多文件包含这个名称,所以我想返回我可以在新函数中指定的所有文件名
比如说
public void newfunction(){
String new = a();
// this string will contain newcachete.txt
}
在不同的功能中
有什么办法吗
谢谢你的回答,我感谢你给我时间:)
我在寻找更好的答案试试看
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;
*/
}
公共列表a(){
File dir=新文件(“/mnt/sdcard/files”);
String[]children=dir.list();
ArrayList files=新的ArrayList();
for(字符串s:子项){
如果(s.包含(“缓存”)){
系统输出打印项次;
文件。添加;
}
}
归还文件;
}
如果名称new
和old
具有某种意义,您可以返回一个Map
,其中键是名称(例如new
和old
)和文件名的值
例如,在你的例子中
字符串a=cachenew.bin;字符串b=cacheold.bin
这样我就可以使用
字符串new=a;字符串old=b
您可以编写(假设cachenew.bin
和cacheold.bin
是您编写的变量):
publicmap a(){
...
映射结果=新的HashMap();
结果.put(“new”,cachenew.bin);
结果.put(“old”,cacheold.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 res=a();
String newS=res.get(“new”);//“new”不是一个好的变量名:-)
字符串oldS=res.get(“old”);
您可以将其存储在数组中。您可以编写一些代码帮助吗?什么是cachenew.bin?它是我随机获取的文件名:)我现在按要求编辑,它会清理并让您更好地理解:)但我如何在下一个函数中使用它,如字符串a=a()[0]索引0和[1];类似的东西我不明白你在问什么我是说这个列表把所有的名字加在一起,我要找的是把不同的值放在不同的字符串中,比如字符串a=包含第一个缓存文件,字符串b=包含第二个缓存文件,但列表结果是[cache1,cache2]但我希望他们每个人都有不同的风格,我会放弃这一票,因为这也会起作用,但不知何故,我自己解决了它,让它变得简单,感谢你的时间和努力,兄弟:))