2011-08-25 15 views

risposta

10

Che ne dite di qualcosa di simile:

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(); 

Nota - non testato, potrebbe non essere la sintassi perfetta ma ti dà un'idea/un approccio da seguire.

Vedi le seguenti JavaDocs per riferimento: 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

Questo rimuoverà tutte le nuove righe nel file. –

4

Dai un'occhiata alla funzione trim()

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

Inoltre, un certo codice sarebbe utile ...

+1

Che l'unica soluzione valida che è già integrata nell'oggetto String. Non c'è assolutamente bisogno di fare altro. Questa dovrebbe essere impostata come risposta – Omri

+2

'Restituisce una copia della stringa, omettendo gli spazi bianchi iniziali e finali. Non rimuove gli spazi bianchi all'interno del file di testo, solo quelli iniziali e finali. Questo non è ciò che l'OP chiedeva. OP vuole rimuovere tutti gli spazi e le schede. –

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

Rimuovere spazi per ogni linea e non considerano righe vuote o null:

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

utilizza per rimuovere vuoto linee nello stesso file.

public static void RemoveEmptyLines(String FilePath) throws IOException 
{ 
    File inputFile = new File(FilePath); 
    BufferedReader reader = new BufferedReader(new FileReader(inputFile)); 
    String inputFileReader; 
    ArrayList <String> DataArray = new ArrayList<String>(); 
    while((inputFileReader=reader.readLine())!=null) 
    { 
     if(inputFileReader.length()==0) 
     { 
      continue; 
     } 
     DataArray.add(inputFileReader); 
    } 
    reader.close(); 

    BufferedWriter bw = new BufferedWriter(new FileWriter(FilePath)); 
    for(int i=0;i<DataArray.size();i++) 
    { 
     bw.write(DataArray.get(i)); 
     bw.newLine(); 
     bw.flush(); 
    } 
    bw.close(); 
} 
0
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

In questo programma, ho rimosso tutti gli spazi bianchi e ho letto tutto dal file che ho letto su una singola riga. –

Problemi correlati