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!
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.
Eclipse Oxygen Java8
Stockez la liste des répertoires / fichiers du chemin spécifié par la méthode listFile dans un tableau
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
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.