2017-09-01 1 views
0

Ich lese die Textdatei, in der Daten in Form von Spalten gespeichert wird, möchte ich die Daten in einer ArrayList durch alle zu speichern Die Linien. So entfernen Sie Leerzeichen, die beim Speichern von Daten in einer Textdatei aufgetreten sind.So entfernen Sie die Leerstellen beim Lesen des Textes aus Textdatei (dh in den Formen der Spalte)

try { 
     fr = new FileReader(f); 
     BufferedReader br = new BufferedReader(fr); 
     String skip=br.readLine(); 
     String line; 
     String ss[]=null; 
     while((line=br.readLine())!=null) 
     { 
     // ss=line.split(" "); 
     // String nt= line.replaceAll("\\s",""); 
      StringTokenizer st = new StringTokenizer(line , " "); 
     // ss=line.split(" "); 
     while(st.hasMoreTokens()){ 
     // System.out.print(Integer.parseInt(ss[0].replaceAll("\\s", ""))); 
     String s1=st.nextToken(); 

    // ss[0]=s1; 
      System.out.println(s1); 
      break; 
     } 
     } 

     EmployeeTaxReport emp=new EmployeeTaxReport(Integer.parseInt(ss[0].replaceAll("\\s", "")), Integer.parseInt(ss[1].replaceAll("\\s", "")),Integer.parseInt(ss[2].replaceAll("\\s", ""))); 
     empreport.add(emp); 
     for (EmployeeTaxReport e: empreport) { 
     System.out.println(e.empid); 

     } 

    }catch(Exception ext) 
    { 
    // System.out.println("OOPs..The file does not exit.Please input valid file name"); 
    ext.printStackTrace(); 
    } 
+1

'line.split ("\\ s +");' wird aufgeteilt auf einem (oder mehr) Leerraum. –

Antwort

0

Als Ihr Quelltext zeigt den Kommentar

// ss=line.split(" "); 

Ich glaube, Sie versucht, und fand heraus, dass es nicht tut, was man wollte.

ändern Sie es an:

ss = line.split("\\s+"); 

ebenso wie in den Kommentaren von @ElliottFrisch vorgeschlagen ...

Verwandte Themen