J'ai un fichier contenant plusieurs fois le même terme. Je souhaite
chercher ce terme. Une fois que je l'ai trouver suivant sa position
dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et
sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pascal
da? wrote:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
TIA
---
Stan va voir sur fr.comp.algorithmes plutot.
-- Pascal
da? wrote:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite
chercher ce terme. Une fois que je l'ai trouver suivant sa position
dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et
sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
TIA
---
Stan va voir sur fr.comp.algorithmes plutot.
-- Pascal
dai2
Pascal wrote in message news:<3fcb9d44$0$2782$...
da? wrote:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
TIA
---
Stan va voir sur fr.comp.algorithmes plutot.
C'est la syntaxe en java qui m'interresse...
Pascal <fuck@verisign.com> wrote in message news:<3fcb9d44$0$2782$626a54ce@news.free.fr>...
da? wrote:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite
chercher ce terme. Une fois que je l'ai trouver suivant sa position
dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et
sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
TIA
---
Stan va voir sur fr.comp.algorithmes plutot.
C'est la syntaxe en java qui m'interresse...
Jean-Yves PIERRES
Salut à tous,
J'ai utilisé Matcher et Pattern. Ci dessous le code que j'ai récupéré dans la toile.
private String containsPattern(File file, String pattern) { // Assume file small enough to read entirely into memory int i,j; FileInputStream fis = null; String stmp=""; try { //lecture et codage du fichier fis = new FileInputStream(file); //lecture de codage FileChannel channel = fis.getChannel(); int fileLength = (int) channel.size(); MappedByteBuffer buffer = channel.map( FileChannel.MapMode.READ_ONLY, 0, fileLength); // Convert to character buffer Charset charset = Charset.forName("ISO-8859-1"); CharsetDecoder decoder = charset.newDecoder(); CharBuffer charBuffer = decoder.decode(buffer); Pattern thePattern = Pattern.compile(pattern); //mot recherché Matcher matcher = thePattern.matcher(charBuffer); initialisation de la recherche
while (matcher.find()) { //ici je récupère la ligne entière i=matcher.start();j=matcher.end(); while (charBuffer.get(i)!=0x0A & i>0) {i--;} i++; //début de ligne while (charBuffer.get(j)!=0x0D & j<charBuffer.length() ) {j++;} //fin de ligne stmp=charBuffer.toString().substring(i,j); //System.out.println(" >>>"+stmp.substring(0,3).equals(" ")+"<<<<<"); //System.out.println(" >>>"+stxt+"<>"+i); } return (stmp); } catch (IOException ex) { return (stxt); } }
Bon courage A+
Jean-Yves
"da?" a écrit dans le message de news:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
TIA
---
Stan
Salut à tous,
J'ai utilisé Matcher et Pattern. Ci dessous le code que j'ai récupéré dans
la toile.
private String containsPattern(File file, String pattern)
{ // Assume file small enough to read entirely into memory
int i,j;
FileInputStream fis = null;
String stmp="";
try { //lecture et codage du fichier
fis = new FileInputStream(file);
//lecture de codage
FileChannel channel = fis.getChannel();
int fileLength = (int) channel.size();
MappedByteBuffer buffer = channel.map(
FileChannel.MapMode.READ_ONLY, 0, fileLength);
// Convert to character buffer
Charset charset = Charset.forName("ISO-8859-1");
CharsetDecoder decoder = charset.newDecoder();
CharBuffer charBuffer = decoder.decode(buffer);
Pattern thePattern = Pattern.compile(pattern); //mot recherché
Matcher matcher = thePattern.matcher(charBuffer); initialisation
de la recherche
while (matcher.find())
{ //ici je récupère la ligne entière
i=matcher.start();j=matcher.end();
while (charBuffer.get(i)!=0x0A & i>0) {i--;} i++; //début de
ligne
while (charBuffer.get(j)!=0x0D & j<charBuffer.length() ) {j++;}
//fin de ligne
stmp=charBuffer.toString().substring(i,j);
//System.out.println(" >>>"+stmp.substring(0,3).equals("
")+"<<<<<");
//System.out.println(" >>>"+stxt+"<>"+i);
}
return (stmp);
} catch (IOException ex) {
return (stxt);
}
}
Bon courage
A+
Jean-Yves
"da?" <dai2@caramail.com> a écrit dans le message de news:
ee003ab1.0312010919.16bacf62@posting.google.com...
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite
chercher ce terme. Une fois que je l'ai trouver suivant sa position
dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et
sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.
J'ai utilisé Matcher et Pattern. Ci dessous le code que j'ai récupéré dans la toile.
private String containsPattern(File file, String pattern) { // Assume file small enough to read entirely into memory int i,j; FileInputStream fis = null; String stmp=""; try { //lecture et codage du fichier fis = new FileInputStream(file); //lecture de codage FileChannel channel = fis.getChannel(); int fileLength = (int) channel.size(); MappedByteBuffer buffer = channel.map( FileChannel.MapMode.READ_ONLY, 0, fileLength); // Convert to character buffer Charset charset = Charset.forName("ISO-8859-1"); CharsetDecoder decoder = charset.newDecoder(); CharBuffer charBuffer = decoder.decode(buffer); Pattern thePattern = Pattern.compile(pattern); //mot recherché Matcher matcher = thePattern.matcher(charBuffer); initialisation de la recherche
while (matcher.find()) { //ici je récupère la ligne entière i=matcher.start();j=matcher.end(); while (charBuffer.get(i)!=0x0A & i>0) {i--;} i++; //début de ligne while (charBuffer.get(j)!=0x0D & j<charBuffer.length() ) {j++;} //fin de ligne stmp=charBuffer.toString().substring(i,j); //System.out.println(" >>>"+stmp.substring(0,3).equals(" ")+"<<<<<"); //System.out.println(" >>>"+stxt+"<>"+i); } return (stmp); } catch (IOException ex) { return (stxt); } }
Bon courage A+
Jean-Yves
"da?" a écrit dans le message de news:
Bonjour,
J'ai un fichier contenant plusieurs fois le même terme. Je souhaite chercher ce terme. Une fois que je l'ai trouver suivant sa position dans le fichier j'aimerais rajouter des mots avant ou/et apres ou/et sur la ligne du dessus ou/et sur la ligne du dessous.
Je souhaite sauvegarder le fichier et écraser l'ancienne version.
Comment faire ? Je n'arrive à trouver une solution propre.