Ich habe diesen CodePrint Drucken nur die letzte Zeile der Eingabedatei aus
public class program {
public static void main(String[] args) {
try {
String filePath = (args[0]);
String strLine;
BufferedReader br = new BufferedReader(new FileReader(filePath));
//Read File Line By Line and Print the content on the console
while ((strLine = br.readLine()) != null) {
//System.out.println (strLine);
PrintStream out = new PrintStream(new FileOutputStream(//printing output to user specified text file (command line argument: outputfile)
args[1]+".txt"));
out.print(strLine);
}
//close the streams
br.close();
}
catch(IOException e){
System.err.println("An IOException was caught :"+e.getMessage());
}
}
}
Wenn ich dieses Programm von der Kommandozeile mit Java-Programm input.txt Ausgabe Inhalt
und wenn Eingabedatei aufrufen waren dies: hallo hallo bye
die Ausgabedatei dieser Druck würde: bye
Es wird nur die letzte Zeile des Ausgangs gedruckt.
wenn statt:
PrintStream out = new PrintStream(new FileOutputStream(//printing output to user specified text file (command line argument: outputfile)
args[1]+".txt"));
out.print(strLine);
Ich hatte nur
System.out.println (strLine);
innerhalb der while-Schleife, dann wäre es richtig, jede Zeile aus der Eingabedatei auf die Konsole zu drucken.
Warum, wenn ich versuche, es in eine andere Datei zu drucken, druckt es nur die letzte Zeile?
übrigens, wenn Sie die Zeilenumbrüche beibehalten möchten, sollten Sie 'out.println()' verwenden – coolioasjulio