testato perchè non su una macchina con un JDK installato, in modo da portare con me, ecco tutto digitato-in "così come sono", ma dovrebbe iniziare (si aspettano un afflusso di downvotes ...)
Caricamento tutte le immagini da una cartella
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Test {
// File representing the folder that you select using a FileChooser
static final File dir = new File("PATH_TO_YOUR_DIRECTORY");
// array of supported extensions (use a List if you prefer)
static final String[] EXTENSIONS = new String[]{
"gif", "png", "bmp" // and other formats you need
};
// filter to identify images based on their extensions
static final FilenameFilter IMAGE_FILTER = new FilenameFilter() {
@Override
public boolean accept(final File dir, final String name) {
for (final String ext : EXTENSIONS) {
if (name.endsWith("." + ext)) {
return (true);
}
}
return (false);
}
};
public static void main(String[] args) {
if (dir.isDirectory()) { // make sure it's a directory
for (final File f : dir.listFiles(IMAGE_FILTER)) {
BufferedImage img = null;
try {
img = ImageIO.read(f);
// you probably want something more involved here
// to display in your UI
System.out.println("image: " + f.getName());
System.out.println(" width : " + img.getWidth());
System.out.println(" height: " + img.getHeight());
System.out.println(" size : " + f.length());
} catch (final IOException e) {
// handle errors here
}
}
}
}
}
API utilizzate
Questo è relativamente semplice da fare e utilizza solo standard di classi JDK-confezionati:
Queste sessioni del Java Tutorial potrebbero aiutare pure:
possibili miglioramenti
- utilizzare Apache Commons
FilenameUtils
per estrarre le estensioni dei file
- Rileva i file sulla base di effettivi tipi MIME o contenuti, non si basa su estensioni
- Vi lascio il codice dell'interfaccia utente. Dato che non so se questo è compito o no, non voglio fornire una soluzione completa. Ma per continuare:
- Vedere uno
FileChooser
per selezionare la cartella.
- Immagino che tu sappia già come realizzare cornici/finestre/finestre di dialogo.
- Leggi le sezioni Java TutorialHow to Use Icons, che ti insegna come visualizzarle ed etichettarle.
- ho lasciato fuori alcune questioni da affrontare:
- la gestione delle eccezioni
- cartelle con endigs male (dire di avere una cartella "TryMeIAmEvil.png")
Combinando tutto quanto sopra, è abbastanza facile da fare.
mostrarci quello che hai, e dirci dove hai trovato bloccato * esattamente * se ci si aspetta aiuto su questo. [chiedi] – Adam
Dato che la tua domanda è abbastanza generica, posso solo supporre che tu stia cercando: http://docs.oracle.com/javase/tutorial/uiswing/components/filechooser.html Questo è un modo di fare esso. – biziclop
@kundanraj: se questo è compito, taggare è come tale. – haylem