Chercher une chaine de caractères
Fermé
hassona
Messages postés
20
Date d'inscription
samedi 3 mai 2008
Statut
Membre
Dernière intervention
24 juin 2009
-
13 mai 2008 à 23:02
petit_apprenti Messages postés 17 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 28 décembre 2009 - 17 mai 2008 à 04:47
petit_apprenti Messages postés 17 Date d'inscription dimanche 11 mai 2008 Statut Membre Dernière intervention 28 décembre 2009 - 17 mai 2008 à 04:47
A voir également:
- Chercher une chaine de caractères
- Caractères ascii - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractères spéciaux clavier azerty - Guide
- Caractères spéciaux - Guide
- Plus de chaine tv - Guide
1 réponse
petit_apprenti
Messages postés
17
Date d'inscription
dimanche 11 mai 2008
Statut
Membre
Dernière intervention
28 décembre 2009
14
14 mai 2008 à 10:21
14 mai 2008 à 10:21
d'apres ce que j'ai compris tu veux savoir si une chaine de caractere existe dans un fichier texte deja existant
voici un petit programme qui te demande d'introduire une chaine de caractere puis verifie si elle existe dans le fichier dont le chemin est "c:\fichier.txt"
si c'est bien ce que tu cherches tu pourras modifier ce petit programme pour t'en servir. bon courage
package lireFichier;
import java.io.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
InputStreamReader inputStreamReader =new InputStreamReader(System.in);
BufferedReader bufferedReader1=new BufferedReader(inputStreamReader);
String string=null;
string=bufferedReader1.readLine();
File fichier=new File("C:\\fichier.txt");
FileReader lecteurDeFichier=new FileReader(fichier);
BufferedReader br=new BufferedReader(lecteurDeFichier);
String st=null;
st=br.readLine();
int i=-1;
while((st!=null)&&(i==-1)){
i=st.indexOf(string);
st=br.readLine();
}
if(i==-1)
System.out.print("la chaine de caractere n'existe pas dans le fichier texte");
else
System.out.print("la chaine de caractere existe dans le fichier");
bufferedReader1.close();
br.close();
lecteurDeFichier.close();
}
}
voici un petit programme qui te demande d'introduire une chaine de caractere puis verifie si elle existe dans le fichier dont le chemin est "c:\fichier.txt"
si c'est bien ce que tu cherches tu pourras modifier ce petit programme pour t'en servir. bon courage
package lireFichier;
import java.io.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
InputStreamReader inputStreamReader =new InputStreamReader(System.in);
BufferedReader bufferedReader1=new BufferedReader(inputStreamReader);
String string=null;
string=bufferedReader1.readLine();
File fichier=new File("C:\\fichier.txt");
FileReader lecteurDeFichier=new FileReader(fichier);
BufferedReader br=new BufferedReader(lecteurDeFichier);
String st=null;
st=br.readLine();
int i=-1;
while((st!=null)&&(i==-1)){
i=st.indexOf(string);
st=br.readLine();
}
if(i==-1)
System.out.print("la chaine de caractere n'existe pas dans le fichier texte");
else
System.out.print("la chaine de caractere existe dans le fichier");
bufferedReader1.close();
br.close();
lecteurDeFichier.close();
}
}
14 mai 2008 à 12:07
Merci bien pour votre réponse.
j'essaye maintenant de de modifier du texte dans un fichier.
est ce possible de lire et écrire dans le même fichier?
je trouve pas de classe ou méthode java qui me permet de lire et écrire dans le même fichier.
Merci pour votre aide.
14 mai 2008 à 12:17
d'abord tu ouvres le fichier comme je l'ai fait dans l'exemple precedant puis:
pour lire tu utilises l'objet FileReader qui prend en paramettre le fichier deja ouvert (comme dans l'exemple)
pour ecrire tu utilises l'objet FileWriter qui prend en paramettre le meme fichier ouvert
boncourage
14 mai 2008 à 13:50
le but de l'application que je souhaite réaliser c changer une chaine de caractère que je cherche dans un fichier par une autre.
voilà le code que j'ai fait:
public class remplacer {
public static void main(String[] args) throws IOException {
InputStream ips1=new FileInputStream("textefiltré.txt");
InputStreamReader ipsr1=new InputStreamReader(ips1);
BufferedReader br1=new BufferedReader(ipsr1);
InputStream ips2=new FileInputStream("inc_vw_prescription.tpl");
InputStreamReader ipsr2=new InputStreamReader(ips2);
BufferedReader br2=new BufferedReader(ipsr2);
FileOutputStream ops = new FileOutputStream("fichiertext.txt");
OutputStreamWriter opsr = new OutputStreamWriter(ops);
BufferedWriter bw = new BufferedWriter(opsr);
String []str;
String ligne1=br1.readLine();
System.out.println(ligne1);
String ligne2;
while((ligne2=br2.readLine())!=null){
if(ligne2.contains(ligne1)){
System.out.println(ligne2);
str=ligne2.split(" ");
for(int i=0;i<str.length;i++){
//ligne2.replaceAll(str[i], "hassna");
}
}
}
}
}
mais l'erreure de ce code réside ds le fait que " FileOutputStream ops = new FileOutputStream("fichiertext.txt");
OutputStreamWriter opsr = new OutputStreamWriter(ops);
BufferedWriter bw = new BufferedWriter(opsr); "
ecrase le fichier initial et crée un nouveau qui est vide.
alors le but est de modifier le texte déja existant dans le fichier spécifié.
j'éspère que ce que je viens de dire est claire.
Merci infiniment pour votre attention.
15 mai 2008 à 11:26
import java.io.*;
public class Main {
public static void main(String[] args) throws FileNotFoundException, IOException {
File fichier=new File("C:\\fichier.txt");
FileReader fileReader=new FileReader(fichier);
FileReader fileReader1=new FileReader(fichier);
BufferedReader bufferedReader1=new BufferedReader(fileReader1);
int nbLigne=0;
String string1=bufferedReader1.readLine();
while(string1!=null){
nbLigne++;
string1=bufferedReader1.readLine();
}
bufferedReader1.close();
fileReader1.close();
String []str = new String[nbLigne];
BufferedReader bufferedReader=new BufferedReader(fileReader);
String string=bufferedReader.readLine();
int i=0;
while(string!=null){
str[i]=string.replaceAll("amine","ahmed");
i++;
string=bufferedReader.readLine();
}
bufferedReader.close();
fileReader.close();
FileWriter fileWriter=new FileWriter(fichier);
BufferedWriter bufferedWriter=new BufferedWriter(fileWriter);
for(int z=0;z<str.length;z++){
bufferedWriter.write(str[z]);
bufferedWriter.newLine();
}
bufferedWriter.close();
}
}
la premiere boucle sert a compter le nombre de lignes afin de creer un tableau de String de la taille ideale.
la deuxieme boucle: apres avoir remplacer le mot "amine" par le mot "ahmed" stoque les ligne de texte modifiees dans le tableau str. apres ca j'ouvre le meme fichier en ecriture, c'est vrai que ca ecrase toutes les donnees mais je les ai deja sauvgarder dans le tableau str, apres ca il me suffit de re-ecrire les ligne de texte modifier dans le fichier. voiiiiila. j'espere que j'ai rependu a ta question, si ce n'ai pas encore le cas recontacte moi. bon courage
17 mai 2008 à 04:47