我有一个名为 paths 的String变量,该变量具有<ion-list>
<ion-item *ngFor="let person of profiles">
{{person.Name}}
</ion-item>
</ion-list>
到目录中所有名为“ micky”的文件。
路径变量的值是-
AbsolutePath
如何仅访问micky3?我希望将micky3的路径存储在一个名为 Myvalue 的新变量中,即 Myvalue =“ sdcard / 0 / albums / micky3.jpg”
我尝试使用sdcard/0/albums/micky1.jpg
sdcard/0/albums/micky2.jpg
sdcard/0/albums/micky3.jpg
sdcard/0/albums/micky4.jpg
访问路径,但错误提示它不是一个很明显的数组值。 paths[2];
返回所有内容。
如何从字符串变量唯一访问值?还是有任何简单的方法可以做到这一点?
逻辑(我要做什么)-在目录(和子目录)中搜索名为“ myfile”的文件。如果(目录)包含“ myfile”,请获取它Log.d(paths);
并将其存储在名为 myfileone 的变量中。重复此过程,直到找到所有文件并将它们存储在名为 myfiletwo , myfilethree , myfilefour 等的变量中。
这可以实现吗?
答案 0 :(得分:2)
您可以split通过换行符String[] values = paths.split("\n")
来分隔字符串。
通过这种方式,您可以像以前一样使用values[2]
访问第三行。
答案 1 :(得分:0)
如果您具有文件夹路径(在本例中为“ sdcard / 0 /相册”),则可以执行以下操作:
ArrayList<String> picturePaths = new ArrayList<String>();
File pictureFolder = new File("sdcard/0/albums");
for(File f: pictureFolder.listFiles()){
if(!f.isDirectory()){
picturePaths.add(f.getAbsolutePath());
}
}
这将获取图片文件夹中所有文件的绝对路径。
搜索目录(和子目录)的方式将是创建递归搜索方法。
public File searchForFile(File folderFile, String fileName){
if(!folderFile.isDirectory()){ //If the folder to search isn't actually a folder
return null;
}
for(File f: folderFile.listFiles()){ //Go over each file in the folder
if(f.getName().equals(fileName) && !f.isDirectory()){ //If the name matches and it's not a folder
return f; //Then this is the correct file and we can return it
} else if(f.isDirectory()){ //Otherwise, if it's a folder
File subFile = searchForFile(f, fileName); //Then search it for the filename
if(subFile != null){ //and if it's found
return subFile; //then return it
}
}
}
return null; //If we reach the end of the method, then we haven't found it.
}
您可以通过以下方式调用它:
File desiredImageFile = searchForFile(new File("the folder path"), "file name");
如果找不到,它将返回null。