I am listing all the files in the "shared prefs" directory of an app. There are 3 shared prefs in total: "User.xml" and "Note_1.xml" and "Note_2.xml".
File f = new File("/data/data/com.bhiruva/shared_prefs/");
String[] pathnames;
pathnames = f.list();
That is the code I am using for listing all the files in that folder, but I need to list the files which only have the title starting as "note_"...
Can someone please tell me how to do this? Thanks in Advance
CodePudding user response:
You could do this:
for(String pathname:pathnames){
if(pathname.startsWith("Note_")){
//do something
}
}
CodePudding user response:
Use a FilenameFilter to accept only the disired files:
import java.io.File;
import java.io.FilenameFilter;
....
File f = new File("/data/data/com.bhiruva/shared_prefs/");
String[] pathnames = f.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return name.toLowerCase().startsWith("note_");
}
});
Or shorter using lambdas if you are using Java 8 or higher
File f = new File("/data/data/com.bhiruva/shared_prefs/");
String[] pathnames = f.list((dir, name) -> name.toLowerCase().startsWith("note_"));