Remove all blank spaces and empty lines

后端 未结 7 1714
予麋鹿
予麋鹿 2020-12-11 17:02

How to remove all blank spaces and empty lines from a txt File using Java SE?

Input:

qwe
    qweqwe
  qwe



qwe

Output:

         


        
相关标签:
7条回答
  • 2020-12-11 17:09
    ...
    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 讨论(0)
  • 2020-12-11 17:10

    Remove spaces for each line and do not consider empty and null lines:

    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 讨论(0)
  • 2020-12-11 17:11

    This my first time answering to a question in this site so please be understandable, after a lot of searching I have found this that works for me.

    FileReader fr = new FileReader("Input_Code.txt"); 
    BufferedReader br = new BufferedReader(fr); 
    FileWriter fw = new FileWriter("output_Code.txt"); 
    String line;
    
    while((line = br.readLine()) != null)
    { 
         line = line.trim(); // remove leading and trailing whitespace
                line=line.replaceAll("\\s+", " ").trim().concat("\n");
                if (!line.equals("")) // don't write out blank lines
        {
            fw.write(line, 0, line.length());
        }
                
             
    } 
    fr.close();
    fw.close();
    
    0 讨论(0)
  • 2020-12-11 17:17

    How about something like this:

    FileReader fr = new FileReader("infile.txt"); 
    BufferedReader br = new BufferedReader(fr); 
    FileWriter fw = new FileWriter("outfile.txt"); 
    String line;
    
    while((line = br.readLine()) != null)
    { 
        line = line.trim(); // remove leading and trailing whitespace
        if (!line.equals("")) // don't write out blank lines
        {
            fw.write(line, 0, line.length());
        }
    } 
    fr.close();
    fw.close();
    

    Note - not tested, may not be perfect syntax but gives you an idea/approach to follow.

    See the following JavaDocs for reference purposes: http://download.oracle.com/javase/7/docs/api/java/io/FileReader.html http://download.oracle.com/javase/7/docs/api/java/io/FileWriter.html

    0 讨论(0)
  • 2020-12-11 17:20
    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();
            }
    
        }
    
    }
    
    0 讨论(0)
  • 2020-12-11 17:21

    Have a look at trim() function

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

    Also, some code would be helpful...

    0 讨论(0)
提交回复
热议问题