8
votes

Supprimer tous les espaces vides et les lignes vides

Comment supprimer tous les espaces vides et toutes les lignes vides d'un fichier TXT à l'aide de Java SE?

entrée: xxx

sortie: xxx

Merci!


4 commentaires

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.


8 Réponses :


4
votes

regarder la fonction de garniture ()

http: // docs.oracle.com/javase/1.5.0/docs/api/java/lang/string.html#trim ()

En outre, certains codes seraient utiles ...


2 commentaires

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. 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.



14
votes

Que diriez-vous de quelque chose comme ceci: xxx

note - non testé, peut ne pas être une syntaxe parfaite mais vous donne une idée / approche à suivre.

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


1 commentaires

Cela supprimera toutes les nouvelles lignes du fichier.



3
votes
...
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);
}
...

0 commentaires

0
votes

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;
}


0 commentaires

0
votes

utilisé pour supprimer les lignes vides dans le même fichier. xxx


0 commentaires

0
votes
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();
        }

    }

}

1 commentaires

Dans ce programme, j'ai supprimé tous les espaces blancs et tout lire du fichier que j'ai lu dans une seule ligne.



1
votes

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. XXX


1 commentaires

Veuillez corriger les fautes de frappe tout en répondant à une question.



0
votes

Je pense que vous voulez juste une expression de regex: xxx

comme pour les fichiers de lecture / écriture, il existe de nombreuses autres ressources pour savoir comment faire cela.


0 commentaires