[Java8] Recherchez le répertoire et récupérez le fichier

introduction

Ravi de vous rencontrer, je suis un ingénieur web de première année qui a commencé à travailler en tant que nouveau diplômé en avril de cette année. Ceci est le premier post! Nous continuerons à produire les compétences et les compétences que nous avons acquises à l'avenir. Je vous serais reconnaissant si vous pouviez commenter si vous avez fait une erreur dans le code ou si c'est mieux. Je vous remercie!

Chose que tu veux faire

Créez une méthode (méthode searchFile) qui acquiert le chemin contenant un fichier spécifique à partir d'un répertoire dont le nombre de couches est inconnu et le produit. Ici, recherchez sous "C: \ tmp" et renvoyez le chemin du fichier avec "hoge" dans le nom du fichier.

environnement

Eclipse Oxygen Java8

procédure

  1. Stockez la liste des répertoires / fichiers du chemin spécifié par la méthode listFile dans un tableau

  2. Extraire le contenu acquis dans une boucle, évaluer s'il s'agit d'un fichier et créer une branche conditionnelle a. Fichier → Évaluez si le fichier souhaité b. Autres → Appel récursif à la méthode searchFile

main.java



import java.io.File;

public class Main {
	public static void main(String[] args) {
		//Spécifiez le chemin que vous souhaitez rechercher
		searchFile("/tmp/");	
	}

	public static void searchFile(String targetPath) {
		File dir = new File(targetPath);
        //Répertoire sous le chemin/Mettez le fichier dans un tableau
		File[] list = dir.listFiles();
		
		for(File path : list) {
			if(path.isFile()) {
				//Divisez le chemin obtenu avec une barre oblique inverse"\\"ne pas"\\\\"donner
				String[] splitedPath = path.toString().split("\\\\");
				String file = splitedPath[splitedPath.length-1];
					
				if(file.toString().contains("hoge")) {
					System.out.println(path);
				}	
			//Appel récursif à la méthode si le fichier n'est pas un fichier
			}else {
				searchFile(path.toString());
			}
		}
	}
}

résultat

\tmp\hogehoge\hoge.txt

Résumé

Afin de rechercher tous les répertoires pour lesquels le nombre de couches est inconnu, je pense que le but est de faire un appel récursif qui s'appelle lui-même dans une branche conditionnelle.

Recommended Posts

[Java8] Recherchez le répertoire et récupérez le fichier
[Java] Comment obtenir le répertoire actuel
[JAVA] Récupère uniquement le nom du fichier, à l'exclusion de l'extension
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Décompressez le fichier zip en Java
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
Obtenez l'URL publique du fichier privé de Flickr en Java
Lire les 4 premiers octets du fichier de classe Java et générer CAFEBABE
[Java] Comment convertir du type String en type Path et obtenir le chemin
Comment obtenir la longueur d'un fichier audio avec Java
Obtenez le résultat de POST en Java
[Java] Comment utiliser la classe File
[Java] Obtenez le jour d'un jour spécifique
Quelle est la meilleure lecture de fichier (Java)
Comment obtenir la date avec Java
[Java 7] Divisez la liste Java et exécutez le processus
Java: placez le fichier de propriétés ResourceBundle n'importe où
[Java] Obtenez la date avec la classe LocalDateTime
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
[Java] Créez un fichier jar compressé et non compressé avec la commande jar
Mémo: [Java] Si un fichier se trouve dans le répertoire surveillé, traitez-le.
Comment obtenir le chemin absolu d'un répertoire s'exécutant en Java
[Java] Récupère MimeType à partir du contenu du fichier avec Apathce Tika [Kotlin]
Comment créer votre propre annotation en Java et obtenir la valeur
[Java] Comprendre la différence entre List et Set
Concernant les modificateurs transitoires et la sérialisation en Java
JAVA: jar, aar, affichez le contenu du fichier
Java: Téléchargez le fichier et enregistrez-le à l'emplacement sélectionné dans la boîte de dialogue [Utiliser HttpClient]
[Java] Obtenez et affichez la date 10 jours plus tard à l'aide de l'API Time ajoutée à partir de Java 8.
[Java] Exemple de programme qui acquiert les valeurs maximum et minimum d'un tableau
[Java] Obtenir la longueur de la chaîne de paire de substitution
[Java] La partie déroutante de String et StringBuilder
J'ai comparé les caractéristiques de Java et .NET
[Java] Obtenez des images avec l'API Google Custom Search
Résumer les différences entre l'écriture C # et Java
[Java] Lire les fichiers dans src / main / resources
création de fichier java
Java et JavaScript
Comment obtenir et étudier Java SE8 Gold
XXE et Java
Compilez et exécutez Java sur la ligne de commande
[Java] Comment obtenir l'URL redirigée finale
création de répertoire java
[Java] Convertir et importer des valeurs de fichier avec OpenCSV
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
[Java] Comment obtenir la clé et la valeur stockées dans Map par traitement itératif
Comment enregistrer des fichiers avec l'extension spécifiée sous le répertoire spécifié en Java dans la liste
[Java] Comment obtenir l'URL de la source de transition
Obtenez l'URL de la destination de la redirection HTTP en Java
<java> Lire le fichier Zip et le convertir directement en chaîne
Écrivez ABNF en Java et transmettez l'adresse e-mail
Accédez au fichier war dans le répertoire racine de Tomcat
Veuillez noter la division (division) de java kotlin Int et Int
La comparaison d'énumération est ==, et equals est bonne [Java]