Bonjour,
J'ai un fichier de type ".txt" et je désire tester s'il est vide ou pas.
j'ai essayé deux méthode mais bizarrement ça marche pas surtout la fonction file.lenth.
Voici ma fonction avec des System.out.println :
Voici le code de la fonction lireDocument(String fichier)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /** * Fonction qui permet la suppression du fichier vide. */ private static boolean supprimerFichierVide(String fichier){ File f = new File(fichier); System.out.println("le fichier à tester est:::" + fichier ); System.out.println("la taille du fichier à tester est:::" + f.length()); String toto = lireDocument(fichier); System.out.println("le contenue du fichier à tester est:::" + toto ); System.out.println("la longueur de la chaine du contenue du fichier est:::" + toto.length() ); return false; }
Aprés le lancement de mon programme j'ai le résultat suiavnt dans la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 /** * Fonction qui permet de récuperer le contenu d'un fichier. * @param nomfichier * @return */ public static String lireDocument(String nomFichier){ String result = ""; try{ String fichier = getNomFichier(nomFichier); File f = new File(fichier); if(f.exists()){ InputStream ips=new FileInputStream(fichier); InputStreamReader ipsr=new InputStreamReader(ips); BufferedReader br=new BufferedReader(ipsr); String ligne; while ((ligne=br.readLine())!=null){ result+=ligne+"\n"; } br.close(); }else{ result = null; } } catch (Exception e){ result = "Error"; } return result; }
Donc dans le résultat j'ai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 le fichier à tester est:::C:\user\travaux\projets\projets_réalisés\projet1\documents\agent_Chirurgicaux.txt la taille du fichier à tester est:::3 le contenue du fichier à tester est::: la longueur de la chaine du contenue du fichier est:::2
1) Le fichier à tester existe : C:\user\travaux\projets\projets_réalisés\projet1\documents\agent_Chirurgicaux.txt
2) le contenue du fichier est null (le contenue du fichier à tester est::.
3) La taille du fichier normalement doit être 0, mais la fonction f.length() renvoie 3, je comprends pas pourquoi (j' utilise windowz 7).
4) La longueur de la chaîne contenue dans le fichier doit être 0, mais moi j'obtient 2.
Pouvez-vous m'indiquez d'ou vient ce problème? vous avez un code plus correcte pour faire la même chose?
Merci d'avance.
Partager