English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base Java

Java Controllo dei flussi

Java Array

Java Orientato agli oggetti (I)

Java Orientato agli oggetti (II)

Java Orientato agli oggetti (III)

Gestione delle eccezioni Java

Java List

Java Queue (coda)

Java Map collection

Java Set collection

Java Input/Output (I/O)

Java Reader/Writer

Altri argomenti Java

Classe Java PrintStream

In questo tutorial, esploreremo attraverso esempi la classe Java PrintStream e i suoi metodi print() e printf().

java.io包的PrintStream类可用于以通常可读的形式(文本)而不是字节写入输出数据。

它继承了抽象类OutputStream。

PrintStream介绍

与其他输出流不同,PrintStream将原始数据(整数,字符)转换为文本格式而不是字节。 然后,它将格式化的数据写入输出流。

而且,PrintStream类不会抛出任何输入/输出异常。相反,我们需要使用checkError()方法来查找其中的任何错误。

注意:PrintStream该类还具有自动冲洗功能。这意味着它将在以下情况之一下强制输出流将所有数据写入目标:

  • 如果换行符\n写在打印流中

  • 如果println()方法被调用

  • 如果在打印流中写入了字节数组

创建一个PrintStream

为了创建一个PrintStream,我们必须首先导入java.io.PrintStream包。导入包后,便可以在此处创建打印流。

1.使用其他输出流

//创建一个FileOutputStream
FileOutputStream file = new FileOutputStream(String file);
//创建一个PrintStream
PrintStream output = new PrintStream(file, autoFlush);

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

  • 我们已经创建了一个打印流,它将格式化数据写入由FileOutputStream表示的文件

  • autoFlush是一个可选的布尔参数,用于指定是否执行自动冲洗

2.使用文件名

 //创建一个PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush);

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

  • 我们创建了一个打印流,它将格式化的数据写入指定的文件

  • autoFlush是一个可选的布尔参数,用于指定是否执行自动冲洗

注意:在这两种情况下,PrintStream都使用一些默认的字符编码将数据写入文件。但是,我们也可以指定字符编码(UTF8 o UTF16)。

//使用某种字符编码创建一个PrintStream
PrintStream output = new PrintStream(String file, boolean autoFlush, Charset cs);

在这里,我们使用Charset该类来指定字符编码。

In questo caso, utilizziamo la classe Charset per specificare la codifica dei caratteri.

Metodi della classe PrintStream

La classe PrintStream fornisce vari metodi che ci permettono di stampare l'output dei dati.

  • Il metodo print()

  • print() - stampa i dati specificati al flusso di output

println() - stampa i dati e l'invio di newline alla flusso di output

class Main {
    public static void main(String[] args) {
        Esempio
        Attenzione a questa riga,
    }
}

String data = "Hello World.";

Risultato di output

Hello World.

Nell'esempio sopra, non abbiamo ancora creato il flusso di stampa. Ma possiamo utilizzare il metodo print() della classe PrintStream.

Potresti chiederti come sia possibile. Bene, lasciami spiegartelo qui.

Attenzione a questa riga,

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

  • System.out.print(data);

  • System è una classe finale responsabile delle operazioni di input/output standard

out è una variabile di classe di tipo PrintStream dichiarata nella classe System

Ora, poiché out è di tipo PrintStream, possiamo utilizzare essa per chiamare tutti i metodi della classe PrintStream.

import java.io.PrintStream;
class Main {
    public static void main(String[] args) {
        Esempio: metodo print() della classe PrintStream
        try {
            PrintStream output = new PrintStream("output.txt");
            String data = "Questo è un testo all'interno del file.";
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

output.print(data);output.txtNell'esempio sopra, abbiamo creato un flusso di stampa chiamato output. Il flusso di stampa è associato a

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

Collegamento al file.

Qui, quando eseguiamo il programma:output.txtIl file sarà riempito con il seguente contenuto.

Per stampare i dati nel file, abbiamo utilizzato il metodo print().

Questo è un testo all'interno del file.

Il metodo printf()

Il metodo printf() può essere utilizzato per stampare stringhe formattate. Contiene 2 parametri: la stringa formattata e i parametri. Ad esempio,

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

  • qui,

  • I am %d years old - è una stringa formattata

  • %d è un dato numerico nella stringa formattata

25 è un parametro

Di conseguenza, una stringa formattata include testo e dati. Inoltre, i parametri sostituiscono i dati nella stringa formattata.%d sostituire con 25

Esempio: utilizzare il metodo printf() di 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("Sono %d anni.", age);
            output.close();
        }
        catch(Exception e) {
            e.getStackTrace();
        }
    }
}

Nell'esempio sopra, abbiamo creato lo stream di stampa chiamato output. Lo stream di stampa è associato al fileoutput.txtCollegamento.

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

Per stampare il testo formattato nel file, abbiamo utilizzato il metodo printf().

Qui, quando eseguiamo il programma:output.txtIl file sarà riempito con il seguente contenuto.

Sono 25 anni.

Altri metodi di PrintStream

MetodoDescrizione del contenuto
close()Chiudere il flusso di stampa
checkError()Controllare gli errori nel flusso e restituire un risultato booleano
append()Aggiungere i dati specificati al flusso