Maison > Article > Tutoriel logiciel > Utilisez le code Java pour lire tous les documents txt d'un dossier, y compris ceux des sous-dossiers
Créez une nouvelle classe, nommez-la FileHandler, insérez-y le code suivant et définissez basePath sur le chemin du dossier que vous souhaitez lire. Des méthodes de lecture et d'écriture ont été fournies et vous pouvez les appeler selon vos besoins. ```Java importer java.io.File ; importer java.io.FileWriter ; importer java.io.IOException ; importer java.nio.file.Files ; importer java.nio.file.Paths ; classe publique FileHandler { chemin de base de chaîne privé ; public FileHandler (String basePath) { this.basePath = basePath; } public String readFile (String fileName) lance IOException { String filePath = basePath + File.separator + fileName ; byte[] bytes = Files.readAllBytes(Paths.get(filePath)); renvoie une nouvelle chaîne (octets); } public void writeFile (String fileName, String
String statique basePath="/home/csvDir";
/**
* Trouvez tous les fichiers correspondant au csv dans le dossier
*
* @param dir L'objet dossier à rechercher
**/
public static void findFile(File dir) lève IOException{
Fichier[] dirFiles = dir.listFiles();
pour(Temp du fichier : dirFiles){
if(!temp.isFile()){
findFile(temp);
}
//Trouver le fichier spécifié
if(temp.isFile() & temp.getAbsolutePath().endsWith(".txt") ){
System.out.println(temp.isFile() + " " + temp.getAbsolutePath());
readFileContent(temp);
}
}
}
/**
* @param file L'objet fichier à lire
* @return Renvoie le contenu du fichier
**/
public static String readFileContent (File file) lève IOException{
FileReader fr = new FileReader(fichier);
BufferedReader br = new BufferedReader(fr);
StringBuffer sb = new StringBuffer();
pendant(br.ready()){
sb.append(br.readLine());
}
System.out.println(sb.toString());
return sb.toString();
}
/**
* @param file L'objet fichier à écrire
* @param content Le contenu du fichier à écrire
**/
public static void writeFileContent(File file,String content) lève IOException{
FileWriter fw = nouveau FileWriter(fichier);
fw.write(content);
fw.flush();
fw.close();
}
public static void main(String[] args) {
essayez {
findFile(nouveau fichier(basePath));
} catch (IOException e) {
//TODO Bloc de capture généré automatiquement
e.printStackTrace();
}
}
Sous t()
Dim fso, f, f1, fc, s, r
Const ForReading = 1, ForWriting = 2
Définir fso = CreateObject("Scripting.FileSystemObject")
'Set fc = fso.GetFile(WScript.ScriptFullName).ParentFolder.Files
Définissez fc = fso.GetFolder("c:windows").Files 'Remplacez c:windows par le dossier réel lorsque vous l'utilisez
L = 1
Pour chaque f1 en fc
EXTName = UCase(fso.GetExtensionName(f1.Name))
Si EXTName = "TXT" Alors
Définissez fs = fso.OpenTextFile(f1, ForReading)
fb = fs.ReadAll
Si InStr(1, fb, "apple") > 0 Alors
Cellules(L, 1) = f1.Nom
Cellules(L, 2) = f1.Path
L = L + 1
Fin si
Fin si
Suivant
Fin du sous-marin
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!