Probleme fichier en java

Fermé
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 17 nov. 2009 à 19:52
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 - 18 nov. 2009 à 17:05
Bonjour,

J'ai fait un programme qui doit reperer les symboles $ dans un texte et les remplacer par 'w'.
Le probleme: apres execution le fichier est completement vide.

import fichiers.*;
import ordinateur.*;


class exind642_103
{
	public static text substitute(String base)
	{
	base = new String("C:/Users/Utilisateur/Desktop/a.txt");
	text B = new text(base);
	B.rewrite();  
	char b = B.first_char();
	char c = '$';
	while(!B.eof())
	{
		B.read_char();
		if(b == c)
			{ b = 'w';}
		
	}	
	return B;
	}


public static void main(String [] args)
{
	text B;
	String base = " ";
	B = substitute(base);
	System.out.println("Le fichier a ete modifie avec succes");
	
}
}


Ceci n'est que la premiere étape de ce que je veux faire. Le but final est de remplacer les $ par un String et de copier le résultat dans un autre fichier. (sans modifier le premier fichier)

Merci d'avance
A voir également:

7 réponses

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
17 nov. 2009 à 20:13
'Soir,

O_O Programme peu compréhensible... D'abord il manque du code (ta classe text, par exemple)... Ensuite difficile à lire:

- tu ne respectes pas les conventions, pourquoi une classe dont le nom commence avec une minuscule?
- pourquoi écrire
	String base = " ";
	B = substitute(base);

et pas directement

	B = substitute(" ");

- pourquoi dans la méthode substiture(String base) tu fais immédiatement un

base = new String("C:/Users/Utilisateur/Desktop/a.txt");

en surchargeant le paramètre de la méthode ?

- et pourquoi

new String("C:/Users/Utilisateur/Desktop/a.txt")

à la place de

"C:/Users/Utilisateur/Desktop/a.txt"

tout simplement ?

Je m'arrête ici... Impossible de continuer, désolé.


++
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
17 nov. 2009 à 20:27
désolé je suis débutant et je fais de mon mieux...

je voulais juste savoir quoi mettre dans ma boucle pour que le programme remplace les $ par des w .... pour le mmt il supprime tout .... :S

ma classe text est dans le package fichiers que notre prof nous a donné
0
il ne supprime pas tout! c'est toi qui n'ecris rien

c'est pas la meme chose!
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
17 nov. 2009 à 20:32
ah ... eh bien dans mon fichier a.txt j'écris des choses mais comment faire pour que ces choses là soit gardée et que mes $ soit remplacé alors ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
17 nov. 2009 à 20:53
up svp
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
17 nov. 2009 à 21:32
IL faudrait tout le code pour pouvoir t'aider.

Mais comme dit plus haut, le code que tu nous montres ne contient que la lecture, et pas d'écriture.
Normal que ton fichier soit vide ...
0
findizy Messages postés 65 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 16 août 2011 1
18 nov. 2009 à 17:05
Voila j'ai encore avancé et j'ai écrit des choses cette fois... mais le soucis c'est que la valeur que je veux remplacer par un String ne se change pas lors de l'execution.

voici le nouveau code :
import fichiers.*;
import ordinateur.*;


class exind642_103
{
	public static text substitute(String base, String save)
	{
	base ="C:/Users/Utilisateur/Desktop/a.txt";
	save ="C:/Users/Utilisateur/Desktop/b.txt";
	
	text B = new text(base);
	text S = new text(save);
	B.reset();  
	S.rewrite();	
	
	char b = B.first_char();
	char c = 'e';
	String replace = new String("MotQuiRemplace'e'");
	
	while(!B.eof())
	{	
		if(b == c)
			{			
			S.write(replace);
			B.readString();
			}
		
		else if(B.eoln())
			{
			S.writeln();
			B.readln();
			}
		else
			{
			S.write(B.first_char());
			B.read_char();
			}
		
			
	}
		
	B.close();
	S.close();	
	return S;
	}


public static void main(String [] args)
{
	text B;
	text S;
	String base = " ";
	String save = " ";
	S = substitute(base, save);
	System.out.println("Le fichier a ete modifie avec succes");
	
}
}
0