Comment supprimer tous les espaces vides et toutes les lignes vides d'un fichier TXT à l'aide de Java SE?
entrée: p> sortie: p> Merci! P> P>
8 Réponses :
regarder la fonction de garniture () p>
http: // docs.oracle.com/javase/1.5.0/docs/api/java/lang/string.html#trim () p>
En outre, certains codes seraient utiles ... p>
Que la seule solution valide déjà intégrée à l'objet String. Il n'y a absolument pas besoin de faire autre chose. Cela devrait être défini comme la réponse
Retourne une copie de la chaîne, avec une espace de pointe et de suivi omis. Code> Il ne supprime pas WhitSpace dans le fichier texte, ce n'est que mentionné et suivi. Ce n'est pas ce que l'OP a demandé. Op veut supprimer tous les espaces et les onglets.
Que diriez-vous de quelque chose comme ceci: note - non testé, peut ne pas être une syntaxe parfaite mais vous donne une idée / approche à suivre. P> Voir ce qui suit Javadocs à des fins de référence:
http://download.oracle.com/javase/7 /docs/api/java/io/filerereader.html
http://download.oracle.com/javase/7 /docs/api/java/io/filewriter.html p> p>
Cela supprimera toutes les nouvelles lignes du fichier.
...
Scanner scanner = new Scanner(new File("infile.txt"));
PrintStream out = new PrintStream(new File("outfile.txt"));
while(scanner.hasNextLine()){
String line = scanner.nextLine();
line = line.trim();
if(line.length() > 0)
out.println(line);
}
...
Retirez les espaces pour chaque ligne et ne considérez pas les lignes vides et nulles:
String line = buffer.readLine();
while (line != null) {
line = removeSpaces(line);
//ignore empty lines
if (line.isEmpty()) return;
....code....
line = buffer.readLine();
}
public String removeSpaces (String arg)
{
Pattern whitespace = Pattern.compile("\\s");
Matcher matcher = whitespace.matcher(arg);
String result = "";
if (matcher.find()) {
result = matcher.replaceAll("");
}
return result;
}
utilisé pour supprimer les lignes vides dans le même fichier. P>
xxx pré> blockQuote>
package com.home.interview;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class RemoveInReadFile {
public static void main(String[] args) {
try {
Scanner scanner = new Scanner(new File("Readme.txt"));
while(scanner.hasNext())
{
String line = scanner.next();
String lineAfterTrim = line.trim();
System.out.print(lineAfterTrim);
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Dans ce programme, j'ai supprimé tous les espaces blancs et tout lire du fichier que j'ai lu dans une seule ligne.
Ceci est mon premier temps de répondre à une question sur ce site, alors s'il vous plaît soyez compréhensible, après avoir trouvé cette recherche cela qui fonctionne pour moi.
Veuillez corriger les fautes de frappe tout en répondant à une question.
Je pense que vous voulez juste une expression de regex: comme pour les fichiers de lecture / écriture, il existe de nombreuses autres ressources pour savoir comment faire cela. P> p>
Montrez-nous votre code jusqu'à présent
Quel code avez-vous jusqu'à présent?
J'allais répondre, mais j'ai aussi besoin de voir s'il s'agit d'un devoir d'abord.
Pas les devoirs. Je ne peux pas penser à la manière la plus efficace de lire un fichier texte vraiment très grand et de supprimer tous les espaces et les lignes vides.