Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2621 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  découper une chaine de caractères d'un fichier en java

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

découper une chaine de caractères d'un fichier en java

n°2183502
brino1987
célibataire
Posté le 02-04-2013 à 02:06:24  profilanswer
 

Bonjour tout le monde,  
j'ai un fichier texte et j'aimerai découper ses chaines de caractères et faire un retour à la ligne selon une chaîne de caractères c à d je fais mon parcours et je lis mon fichier caractère par caractère et si je trouve mon chaine souhaité je déplace mon curseur au début de cette chaine et je fais un retour à la ligne..  
a plus par exemple mon fichier contient le texte suivant:  
ggggdgfgfghjhgfdfghjkkjuiyggggffddddddfgggggskqfhdsmlfhdsghsfdghfjgfjgjghkfjghgkgjfkgjggggkgjhkgjgkdfjfjdkjjdggggdhdsgdshgdshgdsh  
mon fichier après traitement (je teste selon la chaine "gggg" ):  
ggggdgfgfghjhgfdfghjkkjuiy  
ggggffddddddf  
gggggskqfhdsmlfhdsghsfdghfjgfjgjghkfjghgkgjfkgj  
ggggkgjhkgjgkdfjfjdkjjd  
ggggdhdsgdshgdshgdsh  
svp j'ai besoin de vos lumières et merci d'avance :)  

mood
Publicité
Posté le 02-04-2013 à 02:06:24  profilanswer
 

n°2183676
brino1987
célibataire
Posté le 02-04-2013 à 18:40:41  profilanswer
 

svp est ce que vous pouvez m'aider??? c'est urgent

n°2183712
willy le k​id
Posté le 02-04-2013 à 22:15:02  profilanswer
 

as tu regardé ces posts ?
http://forum.hardware.fr/hfr/Progr [...] 9129_1.htm
 
Ou tu bloques tu?
Sais tu lire un fichier ? Faire un chercher / remplacer ? Gérer les sauts de ligne ?
 

n°2183726
brino1987
célibataire
Posté le 02-04-2013 à 23:38:48  profilanswer
 

salut willy le kid,
oui je sais comment lire un fichier
 
j'ai utilisé replaceall() mais elle me donne une mauvaise résultat c à d elle fait ce que je veux mais le problème est qu'avec cette méthode  
le contenu de mon fichier est réécrit à la fin de fichier.  
d'une autre façon le contenu de mon fichier devient:
ggggdgfgfghjhgfdfghjkkjuiy  
ggggffddddddf  
gggggskqfhdsmlfhdsghsfdghfjgfjgjghkfjghgkgjfkgj  
ggggkgjhkgjgkdfjfjdkjjd  
ggggdhdsgdshgdshgdsh  
ggggdgfgfghjhgfdfghjkkjuiyggggffddddddfgggggskqfhdsmlfhdsghsfdghfjgfjgjghkfjghgkgjfkgjggggkgjhkgjgkdfjfjdkjjdggggdhdsgdshgdshgdsh  
 
y-a-il une méthode que me permet d'éviter cette répitition svp

n°2183729
willy le k​id
Posté le 03-04-2013 à 00:08:44  profilanswer
 

Si il y a répétition ça vient de ton code.
 
Mauvaise utilisation de la méthode  
String.replaceAll(String regex, String replacement)
 
Ou peut être problème dans ton expression régulière.

n°2183730
brino1987
célibataire
Posté le 03-04-2013 à 00:27:55  profilanswer
 

voici mon code:
import java.io.*
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.StringTokenizer;
 
 
public class ReadFile{
 
 public static void main(String[] args) throws IOException{
 
  //Créer un nom de fichier basé sur la date et l'heure
  SimpleDateFormat filePattern = new SimpleDateFormat("ddMMyyyy_HHmm" );
  String filename=filePattern.format(new Date(0)) + ".txt";
  //ouvrir le fichier
  File file=new File("C:\\eclipse\\Workspace\\AlertSnort.txt" );
  String filePath = "C:\\eclipse\\Workspace\\TotalAlert.txt";
 
  if(file.exists()==true){
   file.delete();
   file.createNewFile();
  }
 
  try{
     
   PrintStream printStream = new PrintStream(file);
   
   System.setOut(printStream);
   ;
   // Création du flux bufférisé sur un FileReader, immédiatement suivi par un  
   // try/finally, ce qui permet de ne fermer le flux QUE s'il le reader
   // est correctement instancié (évite les NullPointerException)
   BufferedReader buff = new BufferedReader(new FileReader(filePath));
   StringBuffer ligne= new StringBuffer();
 
 
 
   try {
     
     
    String line;
    int i=-1;
    String car;
    // Lecture du fichier ligne par ligne. Cette boucle se termine
    // quand la méthode retourne la valeur null.
    while ((line = buff.readLine()) != null&& i==-1) {
     String str2 = line.replaceAll("23/04/","\n23/04/" );
     System.out.println(str2);

     System.out.println(line);
     //faites ici votre traitement
    }
     
   }  
   catch (FileNotFoundException e) {
    e.printStackTrace();
   }
   
   
   buff.close();
   printStream.close();
 
   
   
  }  
   
  catch (FileNotFoundException e) {
   e.printStackTrace();
  }  
   
   
 }
 
}
 
j'ai un fichier appelé "TotalAlert.txt". je fais mon travail et je mis le résultat dans un 2ème fichier appelé " AlertSnort.txt "


Message édité par brino1987 le 03-04-2013 à 00:38:38
n°2183761
willy le k​id
Posté le 03-04-2013 à 10:26:13  profilanswer
 

Tu prends en fichier en entrée assez simple (de quoi faire 3 sauts de lignes).
Tu mets des points d'arrêt autour et dans le "while ((line = buff.readLine())"
Tu exécutes ton code en mode Debug (Eclipse fait cela) et tu devrais trouver le prb assez facilement.


Message édité par willy le kid le 03-04-2013 à 10:26:35

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  découper une chaine de caractères d'un fichier en java

 

Sujets relatifs
Upload de fichier + gestion comptes utilisateursPython et XBMC : récupérer le fichier en cours de lecture
[C] Remplacer un char dans une chaine de caractèreexecution de script shell sous java avec shell.adiguba
Décodage fichier phpOuverture fichier excel lié a a access, depuis access - pb update
[Joomla!] Fichier de log dans le dossier administrator/[java]MyBatis - Utilisation de DAO génériques
Chaine de caractère entre dièse inattenduEcritude dans un fichier.bat à partir de VBA
Plus de sujets relatifs à : découper une chaine de caractères d'un fichier en java


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR