2011-04-17 4 views

Répondre

1

Lire le fichier entier dans une chaîne, puis remplacer tous les espaces doubles par des espaces simples comme suit. Vous pouvez lire dans le fichier entier en utilisant StreamReader.ReadToEnd(). Cela suppose que votre fichier n'est pas trop volumineux. Je pensais que c'était une question C#, (je l'ai trouvé dans la liste des questions C#) et voici le code C#.

StreamReader streamReader=new StreamReader(new FileStream(path, FileMode.Read)); 
string str=streamReader.ReadToEnd(); 
string str2=str.Replace(" "," "); 

En Java, certains des noms de fonction ne sont pas activés, comme remplacer(), et apparemment, toutes ces classes sont disponibles.

Ensuite, réécrivez simplement dans le fichier. Vous pouvez utiliser StreamWriter pour cela.

+1

sûr de cette méthode? n'existe pas. – MeBigFatGuy

+0

@MeBigFatGuy: Quelle méthode? ReadToEnd()? Ça devrait être là. –

+0

@Eugenio: Il veut dire 'Remplacer' - vous voulez' remplacer' – Hogan

1

Lisez le fichier en mémoire sous la forme d'un tableau de chaînes, puis appelez replace ("   ", "") et réécrivez le fichier. Si c'est trop grand pour tenir dans la mémoire, copiez le fichier dans un fichier temporaire une ligne à la fois, en remplaçant, puis supprimez le fichier original et déplacez le fichier temporaire à l'emplacement de l'original.

-1

Vous pouvez utiliser

str.replace(" ", " "); 
1

en Java (il semble que tout le monde donne des exemples dans les variantes C)

str.replace(" "," "); 

devrait fonctionner. L'affaire est importante

2
s.replaceAll("\\s\\s+", " ") 

remplace tout nombre d'espaces supérieur à 1, avec 1 espace.

Questions connexes