Script pour fichier texte en java
triceratops
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Ja, un fichier ou il y a plus de 20000 lignes, chaque ligne represente un chemin d'acces comme ceci:
U:\www\architecture\diagrammes\Applications\BOS\MIA\index_fichiers\maximize.gif.txt
Comment faire pour dire a java d'enlever l'arborescence et de ne laisser que le nom du fichier. Ce qui avec la ligne présenté plus haut donnerait maximize.gif.txt
Ja, un fichier ou il y a plus de 20000 lignes, chaque ligne represente un chemin d'acces comme ceci:
U:\www\architecture\diagrammes\Applications\BOS\MIA\index_fichiers\maximize.gif.txt
Comment faire pour dire a java d'enlever l'arborescence et de ne laisser que le nom du fichier. Ce qui avec la ligne présenté plus haut donnerait maximize.gif.txt
A voir également:
- Script pour fichier texte en java
- Fichier bin - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Fichier epub - Guide
- Fichier rar - Guide
4 réponses
Salut,
Tu vas avoir des "illegal escape character" lors de la compile, il faudrait doubler les "\\"
Mais voici ce que tu pourais faire si le nom du fichier est toujours en fin de ligne:
Cordialement,
Dan
Tu vas avoir des "illegal escape character" lors de la compile, il faudrait doubler les "\\"
Mais voici ce que tu pourais faire si le nom du fichier est toujours en fin de ligne:
String ligne= "U:\\www\\architecture\\diagrammes\\Applications\\BOS\\MIA\\index_fichiers\\maximize.gif.txt"; String nomFic = ""; int index = ligne.lastIndexOf("\\"); if(index == -1) System.out.println("Pas de \\"); else nomFic = ligne.substring(index +1); System.out.println("Nom du fichier = " + nomFic);
Cordialement,
Dan
salut danimo, d'abord merci, ensuite comment faire pour lui dire de lire le fichier ligne par ligne et puis de les traiter tous ?
Bonjour, pour lire un fichier ligne par ligne tu peux utiliser la classe BufferedReader.
BufferedReader br = new BufferedReader(new FileReader(new File("tonFichier"))); String line = br.readLine(); while (line != null) // readLine renvoie la valeur null lorsque la fin de fichier est atteinte { /* Ton traitement */ line = br.readLine(); } br.close();
Voici mon code
public class texte {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(new File("ihssendalloul")));
String line = br.readLine();
while (line != null) // readLine renvoie la valeur null lorsque la fin de fichier est atteinte
{
/* Ton traitement */
int index = line.lastIndexOf("\\");
String nomFic = "";
line = br.readLine();
nomFic = line.substring(index +1);
System.out.println(nomFic);
}
br.close();
}
}
Ca marche pour quelaues lignes et puis ca me donne ca
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -8
at java.lang.String.substring(Unknown Source)
at java.lang.String.substring(Unknown Source)
at texte.main(texte.java:33)
public class texte {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader(new File("ihssendalloul")));
String line = br.readLine();
while (line != null) // readLine renvoie la valeur null lorsque la fin de fichier est atteinte
{
/* Ton traitement */
int index = line.lastIndexOf("\\");
String nomFic = "";
line = br.readLine();
nomFic = line.substring(index +1);
System.out.println(nomFic);
}
br.close();
}
}
Ca marche pour quelaues lignes et puis ca me donne ca
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -8
at java.lang.String.substring(Unknown Source)
at java.lang.String.substring(Unknown Source)
at texte.main(texte.java:33)
Salut,
L'erreur que tu signales semble ne pas correspondre au code que tu donnes ou alors c'est un extrait...
Peux-tu me donner la liste EXACTE de QUELQUES lignes (surtout pas 20000) pour que je puisse tester en réel.
Autre chose, c'est quoi ce fichier ihssendalloul ? un fichier texte ?
À essayer car tu ne lis pas d'autre ligne dans la boucle while:
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
L'erreur que tu signales semble ne pas correspondre au code que tu donnes ou alors c'est un extrait...
Peux-tu me donner la liste EXACTE de QUELQUES lignes (surtout pas 20000) pour que je puisse tester en réel.
Autre chose, c'est quoi ce fichier ihssendalloul ? un fichier texte ?
À essayer car tu ne lis pas d'autre ligne dans la boucle while:
public static void main(String[] args) throws IOException { //BufferedReader br = new BufferedReader(new FileReader(new File("ihssendalloul"))); BufferedReader br = new BufferedReader(new FileReader("ihssendalloul")); //String line = br.readLine(); String line; while ((line = br.readLine()) != null) //while (line != null) // readLine renvoie la valeur null lorsque la fin de fichier est atteinte { /* Ton traitement */ int index = line.lastIndexOf("\\"); String nomFic = ""; line = br.readLine(); nomFic = line.substring(index +1); System.out.println(nomFic); } br.close(); }
Cordialement,
Dan
Plus on apprend... plus on se rend compte qu'on ne connaît pas grand-chose.
Re,
Désolé, je n'avais pas vu la ligne line = br.readLine(); dans la boucle; il faut la supprimer la lecture se faisant dans while ((line = br.readLine()) != null)
Désolé, je n'avais pas vu la ligne line = br.readLine(); dans la boucle; il faut la supprimer la lecture se faisant dans while ((line = br.readLine()) != null)
/* Ton traitement */ int index = line.lastIndexOf("\\"); String nomFic = ""; // line = br.readLine(); // <<<<<<<< SUPPRIMER nomFic = line.substring(index +1); System.out.println(nomFic);