Java PrintStream-Beispiel

In meinem vorherigen Beispiel habe ich den PrintWriter zum Drucken der formatierten Ausgabe auf der Konsole und in der Datei erklärt. Dieses Beispiel zeigt die Verwendung von PrintStream. Beachten Sie, dass PrintWriter und PrintStream ähnliche Methoden definieren und sehr ähnlich funktionieren, mit der Ausnahme, dass PrintWriter die Zeichenfolge und PrintStream den Bytestrom schreibt. Dies ist der Hauptunterschied zwischen diesen beiden Klassen.

Seit Java 1.4 ist es möglich, die Zeichenkodierung für einen PrintStream anzugeben. Die Unterschiede zwischen PrintStream und PrintWriter bestehen nur im Verhalten beim automatischen Leeren und darin, dass ein PrintStream einen Writer nicht umschließen kann. Diese Klasse definiert die folgenden Konstruktoren:

  • PrintStream(File file) – Erstellt einen neuen Druckstream ohne automatische Zeilenlöschung mit der angegebenen Datei.
  • PrintStream(File file, String csn) – Erstellt einen neuen Druckstream ohne automatische Zeilenlöschung mit der angegebenen Datei und dem angegebenen Zeichensatz.
  • PrintStream(OutputStream out) – Erstellt einen neuen Druckstream.
  • PrintStream(OutputStream out, boolean autoFlush) – Erstellt einen neuen Druckstream.
  • PrintStream(OutputStream out, boolean autoFlush, String-Kodierung) – Erstellt einen neuen Druckstream.
  • PrintStream(String fileName) – Erstellt einen neuen Druckstream ohne automatische Zeilenlöschung mit dem angegebenen Dateinamen.
  • PrintStream(String fileName, String csn) – Erstellt einen neuen Druckstream ohne automatische Zeilenlöschung mit dem angegebenen Dateinamen und Zeichensatz.

PrintStream-Beispiel

package javabeat.net.io;

import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Date;

/**
 * Java PrintStream Example
 *
 * @author Krishna
 *
 */
public class PrintStreamExample {

	public static void main(String args()) throws IOException {
		String fileName = "TextFile.txt";

		// Creating standard output as OutputStreamWriter
		PrintStream printStream = new PrintStream(System.out, true);
		printStream.println("This is example for PrintWriter!!");
		int intVar = 15;
		double dbVar = 20.0;
		printStream.printf("i = %d and k = %f", intVar, dbVar);

		// flush the instance pw
		printStream.flush();

		System.out.println("\n---------------------------------------");

		// write in a file (deletes the lines if exist)
		PrintStream printStreamFile = null;
		Date date = new Date();
		try {
			printStreamFile = new PrintStream(fileName);
			intVar++;
			printStreamFile.println(date);
			System.out.println("Write to the file successfully");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} finally {
			// closing the output stream (best practice)
			if (printStreamFile != null) {
				printStreamFile.close();
			}
		}

		PrintStream printStreamFile1 = null;
		Object newLine = System.getProperty("line.separator");
		try {
			FileOutputStream fileWriter = new FileOutputStream(fileName, true);
			printStreamFile1 = new PrintStream(fileWriter);
			printStreamFile1.println(newLine);
			printStreamFile1.println("Add a line");
			System.out.println("Add new lines to the file successfully");
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (SecurityException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			// closing the output stream (best practice)
			if (printStreamFile1 != null) {
				printStreamFile1.close();
			}
		}
	}
}

Konsolenausgabe…

This is example for PrintWriter!!
i = 15 and k = 20.000000
---------------------------------------
Write to the file successfully
Add new lines to the file successfully

Dateiausgabe…

Sun Apr 20 11:55:05 IST 2014

Add a line

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen