2016-04-25 6 views
0

Ich habe die folgende Methode der Textdatei lautet:Wie Ausgabestatusanzeige anstelle des tatsächlichen Dateiinhaltes

public static void readFile(String path) { 

    BufferedReader br = null; 
    try { 
     String sCurrentLine; 

     br = new BufferedReader(new FileReader(path)); 

     while ((sCurrentLine = br.readLine()) != null) { 
      System.out.println(sCurrentLine); // Progress indicator! 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      if (br != null)br.close(); 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 

Meine Datei ist wirklich groß ~ 700 MB, würde ich in der Lage sein mag Fortschrittsanzeige zu drucken oder Prozentsatz, anstatt die tatsächliche Datei auf der Konsole zu drucken, die wirklich nicht gut aussieht. Etwas wahrscheinlich wie dieses:

========================================================== 100% 

Jeder Hinweis wird geschätzt.

+0

Vielleicht http://stackoverflow.com/questions/23167319/how-to-use-java-progress-bar-while-read-a-text-file könnte helfen? – GuiSim

Antwort

2

müssen Sie Ihre System.out.println mit Fortschritt ändern. Dafür braucht man ein paar Dinge.

  1. die Dateigröße mit File Objekt heißt Get

    Datei f = new File (path); double fileSize = f.length(); br = neuer BufferedReader (neuer FileReader (Pfad));

  2. Jetzt innerhalb der while Schleife. Jedesmal, wenn man String lesen Sie etwas zu tun, wie diese

    int percentRead = 0

    while ((sCurrentLine = br.readLine())! = Null) {

    double bytesRead += (sCurrentLine.getBytes().length); 
    
    int newPercentRead = (int)((bytesRead/fileSize) * 100); 
    
    while (percentRead <= newPercentRead){ 
    
        System.out.print("#"); 
    
        percentRead++; 
    
    } 
    

    }

Es ist nicht getestet, so dass Sie es möglicherweise um zwicken müssen.

+0

Danke ... Ich werde es versuchen –

Verwandte Themen