Java?I/O流之打印流詳細使用方法教程
打印流

打印流基本使用
打印流:
作用:打印流可以實現更方便、更高效的打印數據到文件中去。打印流一般是指:PrintStream,PrintWriter兩個類。
可以實現打印什么數據就是什么數據,例如打印整數97寫出去就是97,打印boolean的true,寫出去就是true。
打印流PrintStream構造器如下:
| 構造器 | 說明 |
|---|---|
| PrintStream(OutputStream os) | 打印流直接通向字節(jié)輸出流管道 |
| PrintStream(File f) | 打印流直接通向文件對象 |
| PrintStream(String filepath) | 打印流直接通向文件路徑 |
示例代碼
public static void main(String[] args) throws Exception {
// 方式一: 打印流通向字節(jié)輸出流管道
PrintStream ps1 = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));
// 方式二: 打印流通向文件對象
PrintStream ps2 = new PrintStream(new File("/Users/chenyq/Documents/test.txt"));
// 方式三: 打印流通向文件路徑
PrintStream ps3 = new PrintStream("/Users/chenyq/Documents/test.txt");
}
打印流PrintStream方法如下:
| 方法 | 說明 |
|---|---|
| print(Xxx xx) | 打印任意類型的數據出去(不換行) |
| println(Xxx xx) | 打印任意類型的數據出去(換行) |
演示代碼
public static void main(String[] args) throws Exception {
PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));
// 打印流方法
ps.println(97);
ps.println("aaa");
ps.println(123);
ps.println('我');
ps.println(true);
// 關閉流
ps.close();
}
上面代碼打印到文件中的內容如下:

打印流PrintWrite構造器如下
| 構造器 | 說明 |
|---|---|
| PrintWriter(OutputStream os) | 打印流直接通向字節(jié)輸出流管道 |
| PrintWriter (Writer w) | 打印流直接通向字符輸出流管道 |
| PrintWriter (File f) | 打印流直接通向文件對象 |
| PrintWriter (String filepath) | 打印流直接通向文件路徑 |
打印流PrintStream方法:
| 方法 | 說明 |
|---|---|
| print(Xxx xx) | 打印任意類型的數據出去(換行) |
| println(Xxx xx) | 打印任意類型的數據出去(不換行) |
演示代碼:
PrintWrite和PrintPrintStream在打印的使用上并無區(qū)別
public static void main(String[] args) throws Exception {
PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));
// 打印流方法
pw.println(97);
pw.println("aaa");
pw.println(123);
pw.println('我');
pw.println(false);
// 關閉流
pw.close();
}
既然PrintStream和PrintWrite在打印上沒有區(qū)別, 那這兩個類的區(qū)別在哪里?
打印數據功能上是一模一樣的,都是使用方便,性能高效(核心優(yōu)勢)
PrintStream繼承自字節(jié)輸出流OutputStream,支持寫字節(jié)數據的方法。
PrintWriter繼承自字符輸出流Writer,支持寫字符數據出去。
public static void main(String[] args) throws Exception {
PrintStream ps = new PrintStream(new FileOutputStream("/Users/chenyq/Documents/test.txt"));
// PrintStream寫字節(jié)數據
ps.write("我愛學習".getBytes());
}
public static void main(String[] args) throws Exception {
PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt"));
// PrintWrite寫字符數據
pw.write("我愛學習");
}
但是我們一般使用打印流, 都是打印數據到文件中去;
使用打印流我們基本不會用來寫數據, 因為寫數據我們直接使用字符輸出流和字節(jié)輸出流更好
使用打印流的小細節(jié), 我們可以發(fā)現, 打印流默認也是覆蓋管道, 打印的數據會覆蓋原數據
如果我們想要打印數據為追加數據, 我們要在低級管道中開啟追加模式, 打印流的過早其中沒有提供追加數據的構造器
public static void main(String[] args) throws Exception {
// 在原始字符輸出流開啟追加模式
PrintWriter pw = new PrintWriter(new FileOutputStream("/Users/chenyq/Documents/test.txt", true));
}
輸出語句重定向
輸出語句重定向(了解)
屬于打印流的一種應用,可以把輸出語句
System.out.println();的打印位置改到文件當中。例如: 在項目的開發(fā)階段我們是在控制臺打印調試的, 我們希望項目上線后將輸出語句打印到文件當中
public static void main(String[] args) throws Exception {
PrintStream ps = new PrintStream("/Users/chenyq/Documents/test.txt");
// 改變輸出語句的位置(重定向), 將輸出語句輸出到文件當中
System.setOut(ps);
System.out.println("aaa");
System.out.println(97);
System.out.println(123);
System.out.println('我');
}
總結
到此這篇關于Java IO流打印流詳細使用的文章就介紹到這了,更多相關Java IO流打印流使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
application作用域實現用戶登錄擠掉之前登錄用戶代碼
這篇文章主要介紹了application作用域實現用戶登錄擠掉之前登錄用戶代碼,具有一定參考價值,需要的朋友可以了解下。2017-11-11
Java Comparable 和 Comparator 的詳解及區(qū)別
這篇文章主要介紹了Java Comparable 和 Comparator 的詳解及區(qū)別的相關資料,Comparable 自然排序和Comparator 定制排序的實例,需要的朋友可以參考下2016-12-12
SpringBoot中@Configuration和@Bean和@Component相同點詳解
這篇文章主要介紹了SpringBoot中@Configuration和@Bean和@Component相同點詳解,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
詳解SpringBoot 多線程處理任務 無法@Autowired注入bean問題解決
這篇文章主要介紹了詳解SpringBoot 多線程處理任務 無法@Autowired注入bean問題解決,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-06-06

