Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java PrintStream-klasse

Java PrintStream-klasse

In deze zelfstudie leren we aan de hand van voorbeelden over de Java PrintStream-klasse en de methoden print() en printf() ervan.

De PrintStream klasse van de java.io pakket kan worden gebruikt om uitvoergegevens te schrijven in een algemeen leesbare vorm (tekst) in plaats van in bytes.

Het breidt de abstracte klasse OutputStream uit .


Werking van PrintStream

In tegenstelling tot andere uitvoerstromen, is de PrintStream converteert de primitieve gegevens (geheel getal, teken) naar het tekstformaat in plaats van bytes. Vervolgens schrijft het die geformatteerde gegevens naar de uitvoerstroom.

En ook de PrintStream class genereert geen input/output-uitzondering. In plaats daarvan moeten we de checkError() . gebruiken methode om een ​​fout erin te vinden.

Opmerking :De PrintStream klasse heeft ook een functie van automatisch spoelen. Dit betekent dat het de uitvoerstroom dwingt om alle gegevens naar de bestemming te schrijven onder een van de volgende voorwaarden:

  • if newline-teken \n is geschreven in de printstream
  • als de println() methode wordt aangeroepen
  • als er een array van bytes in de printstream wordt geschreven

Maak een PrintStream

Om een ​​PrintStream . aan te maken , moeten we de java.io.PrintStream . importeren pakket eerst. Zodra we het pakket hebben geïmporteerd, kunnen we hier de printstream maken.

1. Andere uitvoerstromen gebruiken

// Creates a FileOutputStream
FileOutputStream file = new FileOutputStream(String file);

// Creates a PrintStream
PrintStream output = new PrintStream(file, autoFlush);

Hier,

  • we hebben een printstream gemaakt die geformatteerde gegevens schrijft naar het bestand dat wordt vertegenwoordigd door FileOutputStream
  • de autoFlush is een optionele booleaanse parameter die aangeeft of automatisch spoelen moet worden uitgevoerd of niet

2. Bestandsnaam gebruiken

 // Creates a PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);

Hier,

  • we hebben een printstream gemaakt die geformatteerde gegevens naar het opgegeven bestand zal schrijven
  • autoFlush is een optionele booleaanse parameter die aangeeft of autoflush moet worden uitgevoerd of niet

Opmerking :In beide gevallen is de PrintStream schrijf gegevens naar het bestand met behulp van een standaardtekencodering. We kunnen echter wel de tekencodering specificeren (UTF8 of UTF16 ) ook.

// Creates a PrintStream using some character encoding
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);

Hier hebben we de Charset . gebruikt class om de tekencodering op te geven. Ga voor meer informatie naar Java Charset (officiële Java-documentatie).


Methoden van PrintStream

De PrintStream class biedt verschillende methoden waarmee we gegevens naar de uitvoer kunnen afdrukken.

print()-methode

  • print() - drukt de opgegeven gegevens af naar de uitvoerstroom
  • println() - drukt de gegevens af naar de uitvoerstroom samen met een nieuw regelteken aan het einde

Voorbeeld:methode print() met systeemklasse

class Main {
    public static void main(String[] args) {

        String data = "Hello World.";
        System.out.print(data);
    }
}

Uitvoer

Hello World.

In het bovenstaande voorbeeld hebben we geen printstream gemaakt. We kunnen echter de print() . gebruiken methode van de PrintStream klasse.

Je vraagt ​​je misschien af ​​hoe dit mogelijk is. Nou, laat me uitleggen wat hier gebeurt.

Let op de lijn,

System.out.print(data);

Hier,

  • System is een laatste klasse die verantwoordelijk is voor het uitvoeren van standaard invoer/uitvoerbewerkingen
  • out is een klassevariabele van PrintStream type gedeclareerd in System klas

Nu sinds out is van PrintStream type, kunnen we het gebruiken om alle methoden van PrintStream . aan te roepen klasse.

Voorbeeld:methode print() met klasse PrintStream

import java.io.PrintStream;

class Main {
    public static void main(String[] args) {

        String data = "This is a text inside the file.";

        try {
            PrintStream output = new PrintStream("output.txt");

            output.print(data);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

In het bovenstaande voorbeeld hebben we een printstream gemaakt met de naam output . De printstream is gekoppeld aan de output.txt bestand.

PrintStream output = new PrintStream("output.txt");

Om gegevens naar het bestand af te drukken, hebben we de print() . gebruikt methode.

Hier, wanneer we het programma uitvoeren, wordt de output.txt bestand is gevuld met de volgende inhoud.

This is a text inside the file.

printf()-methode

De printf() methode kan worden gebruikt om de opgemaakte tekenreeks af te drukken. Het bevat 2 parameters:opgemaakte tekenreeks en argumenten. Bijvoorbeeld,

printf("I am %d years old", 25);

Hier,

  • Ik ben %d jaar oud is een opgemaakte string
  • %d is integer data in de opgemaakte string
  • 25 is een argument

De opgemaakte tekenreeks bevat zowel tekst als gegevens. En de argumenten vervangen de gegevens in de opgemaakte string.

Vandaar de %d wordt vervangen door 25 .

Voorbeeld:printf() methode met PrintStream

import java.io.PrintStream;

class Main {
    public static void main(String[] args) {

        try {
            PrintStream output = new PrintStream("output.txt");

            int age = 25;

            output.printf("I am %d years old.", age);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

In het bovenstaande voorbeeld hebben we een printstream gemaakt met de naam output . De printstream is gekoppeld aan het bestand output.txt .

PrintStream output = new PrintStream("output.txt");

Om de opgemaakte tekst naar het bestand af te drukken, hebben we de printf() . gebruikt methode.

Hier, wanneer we het programma uitvoeren, wordt de output.txt bestand is gevuld met de volgende inhoud.

I am 25 years old.

Andere methoden van PrintStream

Methoden Beschrijvingen
close() sluit de printstream
checkError() controleert of er een fout in de stream zit en geeft een booleaans resultaat
append() voegt de gespecificeerde gegevens toe aan de stream

Ga voor meer informatie naar Java PrintStream (officiële Java-documentatie).


Java

  1. Java laatste trefwoord
  2. Java-instantie van Operator
  3. Java-erfenis
  4. Java geneste statische klasse
  5. Java anonieme klasse
  6. Java Singleton-klasse
  7. Java-reflectie
  8. Java ArrayList-klasse
  9. Java ObjectOutputStream-klasse
  10. Java-generieken
  11. Java-bestandsklasse