English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo tutorial, esploreremo attraverso esempi la classe Java PrintStream e i suoi metodi print() e printf().
java.io包的PrintStream类可用于以通常可读的形式(文本)而不是字节写入输出数据。
它继承了抽象类OutputStream。
与其他输出流不同,PrintStream将原始数据(整数,字符)转换为文本格式而不是字节。 然后,它将格式化的数据写入输出流。
而且,PrintStream类不会抛出任何输入/输出异常。相反,我们需要使用checkError()方法来查找其中的任何错误。
注意:PrintStream该类还具有自动冲洗功能。这意味着它将在以下情况之一下强制输出流将所有数据写入目标:
如果换行符\n写在打印流中
如果println()方法被调用
如果在打印流中写入了字节数组
为了创建一个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该类来指定字符编码。
Metodi della classe PrintStream
Il metodo print()
print() - stampa i dati specificati al 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
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().
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。
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.
Metodo | Descrizione 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 |