Voici ce que je dois faire, mais je ne sais pas où commencer: p>
Écrivez un programme qui vous permet de parcourir des images (GIF, JPG) de la répertoire spécifié. Les images sont ensuite illustrées dans la fenêtre, comme suit: p>
- a) strong> Le catalogue et l'intervalle de temps entre l'image (en secondes) sont déterminés au début du programme sur la base de informations du fichier, li>
b) strong> Les images sont affichées dans leurs tailles d'origine, li> c) strong> ajuste l'image sur le cadre li> ul> blockQuote> Je connais la question très fondamentale, mais je viens de commencer avec Java. Y a-t-il une sorte de fonction, qui me donnera les noms de tous les articles d'un dossier? strong> p>
4 Réponses :
Si vous souhaitez avoir des objets de fichier pour tous les fichiers d'un répertoire, utilisez: si vous voulez simplement vouloir que les noms utilisent p>
Utilisez également un fichier FileFilter pour filtrer le contenu inutilisé.
Java 7 a introduit plus de fonctionnalités aux tâches comme ça, aussi
Si vous voulez uniquement les fichiers image, vous pouvez utiliser fichier.listfiles (filtre FileFilter) :
J'ai encore une question. Je dois spécifier le chemin d'accès au fichier comme "C: \ Temp \ Images", et l'ensemble sera chargé dans un autre fichier .txt. Je vais le lire par scanner et ajouter, mais ce fichier [] n'accepte pas le chemin dans ce formulaire.
Le backslash est un caractère spécial dans les chaînes Java. Vous pouvez vous échapper avec une double barre oblique inverse. Par exemple: "C: \\ Temp \\ images". (Je ne sais pas que les réponses que vous êtes question; Si non, s'il vous plaît faites le moi savoir.)
Pas vraiment, je veux dire que je reçois un fichier .txt avec le chemin du dossier avec les images. Le programme doit lire un chemin via le scanner sous la forme de "C: \ Temp \ images". Le problème que j'ai est de savoir comment fournir la voie au programme, car je ne verrai pas ce chemin. Tout ce que je reçois, c'est le chemin du premier fichier TXT. Le reste doit être fait par programme. J'espère que tu comprends ce que je veux dire :(
D'accord. Vous devez être capable de lire un fichier, puis utilisez un chemin contenus dans ce fichier pour créer un objet de fichier. Vous avez la première étape - vous brisez le gros problème en pièces plus petites. Maintenant, abordez chacun de ces séparément. Apportez des questions séparées et spécifiques à leur sujet, si vous avez des problèmes, à empilerflow. Une fois que vous avez reçu le chemin, vous pouvez créer un nouvel objet de fichier avec nouveau fichier (myPath) i>.
Je suppose que vous voulez obtenir toutes les images d'un répertoire et de tous ses sous-répertoires. Ici vous allez:
//Load all the files from a folder.
File folder = new File(folderPathString);
readDirectory(folder);
public static void readDirectory(File dir) throws IOException
{
File[] folder = dir.listFiles();//lists all the files in a particular folder, includes directories
for (int i = 0; i < folder.length; i++)
{
File file = folder[i];
if (file.isFile() && (file.getName().endsWith(".gif") || file.getName().endsWith(".jpg"))
{
read(file);
}
else if (file.isDirectory())
{
readDirectory(file);
}
}
}
public static void read(File input) throws IOException
{
//Do whatever you need to do with the file
}
Si vous pouvez utiliser JDK 7, la manière recommandée (si je peux dire) est la suivante:
public static void main(String[] args) throws IOException {
Path dir = Paths.get("c:/some_dir");
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.{gif,png,jpg}")) {
for (Path entry: stream) {
System.out.println(entry);
}
}
}
Jetez un coup d'œil à cette question pour Page et celui-ci pour Filtrage
Je ne sais pas si vous le souhaitez, mais j'ai donné un modèle fonctionnel que vous pouvez travailler avec, même si vous avez l'intention d'aller plus loin qu'un simple dossier (c'est-à-dire si des images peuvent être situées dans des sous-répertoires du chemin d'origine).