ich Dateien in Java bin Auswahl mit dem folgenden Code:auswählen
File folder = new File("path to folder");
File[] listOfFiles = folder.listFiles();
, was nun tun, wenn ich nur Bilddateien auswählen möchten?
ich Dateien in Java bin Auswahl mit dem folgenden Code:auswählen
File folder = new File("path to folder");
File[] listOfFiles = folder.listFiles();
, was nun tun, wenn ich nur Bilddateien auswählen möchten?
Verwenden Sie eine der Versionen File.listFiles()
, die eine oder FilenameFilter
akzeptiert, um die übereinstimmenden Kriterien zu definieren.
Zum Beispiel:
File[] files = folder.listFiles(
new FilenameFilter()
{
public boolean accept(final File a_directory,
final String a_name)
{
return a_name.endsWith(".jpg");
// Or could use a regular expression:
//
// return a_name.toLowerCase().matches(".*\\.(gif|jpg|png)$");
//
};
});
Werfen Sie einen Blick hier File Choosers
Sie File.listFiles() können mit einem FilenameFilterImageIO.getReaderFileSuffixes
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
List<String> images = Arrays.asList(ImageIO.getReaderFileSuffixes());
String extension = "";
int i = name.lastIndexOf('.');
if (i > 0) {
extension = name.substring(i+1);
}
return images.contains(extension.toLowerCase());
}
});
mit Mai dieses Codes helfen Ihnen
String imageExtension[] = new String[]{
"jpg", "png", "bmp" // add more
};
File direcory = new File("path");
File[] listFiles = direcory.listFiles();
ArrayList<File> imageFileList = new ArrayList();
for(File aFile : listFiles) {
// use FilenameUtils.getExtension from Apache Commons IO
String extension = FilenameUtils.getExtension(aFile.getAbsolutePath());
for(String ext: imageExtension) {
if(extension.equals(ext)) {
imageFileList.add(aFile);
break;
}
}
}
Sie müssen entscheiden, welches ein Bild ist und was nicht. Sobald Sie dies getan haben, ist die Verwendung einer Schleife zum Filtern ziemlich einfach. –
@PeterLawrey, _Sie müssen entscheiden, was ein Bild ist und was nicht_ ist, wie unterscheidet sich das von _defining die passenden Kriterien_? Der Code, der die Übereinstimmung definiert, kann genauso einfach in einen Filter oder eine Schleife eingefügt werden. Ich bin mir nicht sicher, wie man den anderen besser findet. – hmjd
ja es funktioniert am besten für mich. Vielen Dank – insanity