2017-07-04 3 views
0

Beim Ausführen des unten stehenden Codes nimmt die Größe der Datei "benutzername.txt" auf dem Gerät weiter zu. Was ist der Grund?Die Dateigröße nimmt weiter zu

package files2; 

import java.io.FileNotFoundException; 

import java.io.File; 

import java.io.PrintStream; 

import java.util.Scanner; 

public class extractor { 
public static void main(String[] args)throws FileNotFoundException { 
    Scanner fromFile=new Scanner(new File("emails.txt")); 
    PrintStream toFile=new PrintStream("username.txt"); 
    char symbol; 
    while(fromFile.hasNext()) { 
     symbol=fromFile.findWithinHorizon(".",0).charAt(0); 
     while(symbol !='@') { 
      toFile.print(symbol); 
      symbol=fromFile.findWithinHorizon(".",0).charAt(0); 
     } 
     fromFile.nextLine(); 
     toFile.println(); 
    } 
    fromFile.close(); 
    toFile.close(); 

} 

} 
+0

Der Grund ist, dass Sie in diese Datei schreiben. Was erwartest du? –

+0

Der Grund ist Infinte-Schleife –

+0

Nun, Sie schreiben weiter daran. Dateien erhöhen sich, wenn Sie in sie schreiben, es ist ziemlich normal. – magicleon

Antwort

0

Sie öffnen einen Stream in eine Datei,

PrintStream toFile=new PrintStream("username.txt"); 

und dann halten Sie es zu schreiben:

toFile.print(symbol); 
... 
toFile.close(); 

Dies wird die Größe des toFile offensichtlich erhöhen. Jedes neue Symbol oder jede neue Zeile erhöht die Dateigröße.

Auch hasNext und findWithinHorizonnicht den Scanner voranbringen. Du liest für immer den gleichen Charakter. Benutze next(), um deinen Scanner weiterzuentwickeln (nach jeder findWithinHorizon, wenn ich das erhalte, was du versuchst). Konsultieren Sie auch die [Dokumentationen] https://docs.oracle.com/javase/8/docs/api/index.html?java/util/Scanner.html).

Hinweis nur mit next vielleicht genug für Sie, mit @ als Trennzeichen.

+0

Was kann ich tun, um zu stoppen, in die Datei username.txt zu schreiben, sobald es das Ende der email.txt Datei erreicht? –

+0

@sujanthapa Ich sehe, was Sie fragen, siehe meine Bearbeitung – kabanus

Verwandte Themen