Java中PrintStream(列印輸出流)

来源:http://www.cnblogs.com/iihcy/archive/2016/01/06/5105982.html
-Advertisement-
Play Games

Java中PrintStream(列印輸出流)PrintStream 是列印輸出流,它繼承於FilterOutputStream。PrintStream 是用來裝飾其它輸出流。它能為其他輸出流添加了功能,使它們能夠方便地列印各種數據值表示形式。與其他輸出流不同,PrintStream 永遠不會拋出 ...


Java中PrintStream(列印輸出流)   PrintStream 是列印輸出流,它繼承於FilterOutputStream。 PrintStream 是用來裝飾其它輸出流。它能為其他輸出流添加了功能,使它們能夠方便地列印各種數據值表示形式。與其他輸出流不同,PrintStream 永遠不會拋出 IOException;它產生的IOException會被自身的函數所捕獲並設置錯誤標記, 用戶可以通過 checkError() 返回錯誤標記,從而查看PrintStream內部是否產生了IOException。另外,PrintStream 提供了自動flush 和 字元集設置功能。所謂自動flush,就是往PrintStream寫入的數據會立刻調用flush()函數。 [轉載]Java中PrintStream(列印輸出流)
[轉載]Java中PrintStream(列印輸出流)

[轉載]Java中PrintStream(列印輸出流)

[轉載]Java中PrintStream(列印輸出流) 常用轉換   FileReader——>BufferedReader BufferedReader in= new BufferedReader(new FileReader("Text.java"));   InputStream——>InputStreamReader——>BufferedReader BufferedReader in=new BufferedReader(new InputStreamReader(System.in));   String——>byte[]——>ByteArrayInputStream——>DataInputStream DataInputStream in= new DataInputStream(new ByteArrayInputStream(str.getBytes()));   FileInputStream——>BufferedInputStream——>DataInputStream DataInputStream in=new DataInputStream(new BufferedInputStream(new FileInputStream("Data.txt")));   FileWriter——>BufferedWriter——>PrintWriter PrintWriter pw=new PrintWriter(new BufferedWriter("text.out"));   System.out(PrintStream)——>PrintWriter PrintWriter pw=new PrintWriter(System.out,true);   FileOutputStream——>BufferedOutputStream——>PrintStream PrintStream ps= new PrintStream(new BufferedOutputStream(new FileOutputStream("text.out")));   FileOutputStream——>BufferedOutputStream——>DataOutputStream DataOutputStream dos= new DataOutputStream(new BufferedOutputStream(new FileOutputStream("Data.txt")));     構造方法: PrintStream(File file)  創建具有指定文件且不帶自動行刷新的新列印流。 PrintStream(File file, String csn) 創建具有指定文件名稱和字元集且不帶自動行刷新的新列印流。 PrintStream(OutputStream out)   創建新的列印流。 PrintStream(OutputStream out, boolean autoFlush)    創建新的列印流。 PrintStream(OutputStream out, boolean autoFlush, String encoding)      創建新的列印流。 PrintStream(String fileName)        創建具有指定文件名稱且不帶自動行刷新的新列印流。 PrintStream(String fileName, String csn)  創建具有指定文件名稱和字元集且不帶自動行刷新的新列印流。   PrintStream和DataOutputStream異同點 相同點:都是繼承與FileOutputStream,用於包裝其它輸出流。 不同點: (01) PrintStream和DataOutputStream 都可以將數據格式化輸出;但它們在“輸出字元串”時的編碼不同。      PrintStream是輸出時採用的是用戶指定的編碼(創建PrintStream時指定的),若沒有指定,則採用系統預設的字元編碼。而DataOutputStream則採用的是UTF-8。        關於UTF-8的字元編碼可以參考“字元編碼(ASCII,Unicode和UTF-8) 和 大小端”       關於DataOutputStream的更多內容,可以參考“java io系列15之 DataOutputStream(數據輸出流)的認知、源碼和示例” (02) 它們的寫入數據時的異常處理機制不同。        DataOutputStream在通過write()向“輸出流”中寫入數據時,若產生IOException,會拋出。        而PrintStream在通過write()向“輸出流”中寫入數據時,若產生IOException,則會在write()中進行捕獲處理;並設置trouble標記(用於表示產生了異常)為true。用戶可以通過checkError()返回trouble值,從而檢查輸出流中是否產生了異常。 (03) 構造函數不同        DataOutputStream的構造函數只有一個:DataOutputStream(OutputStream out)。即它只支持以輸出流out作為“DataOutputStream的輸出流”。        而PrintStream的構造函數有許多:和DataOutputStream一樣,支持以輸出流out作為“PrintStream輸出流”的構造函數;還支持以“File對象”或者“String類型的文件名對象”的構造函數。        而且,在PrintStream的構造函數中,能“指定字元集”和“是否支持自動flush()操作”。   (04) 目的不同        DataOutputStream的作用是裝飾其它的輸出流,它和DataInputStream配合使用:允許應用程式以與機器無關的方式從底層輸入流中讀寫java數據類型。        而PrintStream的作用雖然也是裝飾其他輸出流,但是它的目的不是以與機器無關的方式從底層讀寫java數據類型;而是為其它輸出流提供列印各種數據值表示形式,使其它輸出流能方便的通過print(), println()或printf()等輸出各種格式的數據。     http://www.apihome.cn/api/java/PrintStream.html http://www.cnblogs.com/skywang12345/p/io_16.html
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡介 OpenGL™ 是行業領域中最為廣泛接納的 2D/3D 圖形 API, 其自誕生至今已催生了各種電腦平臺及設備上的數千優秀應用程式。OpenGL™ 是獨立於視窗操作系統或其它操作系統的,亦是網路透明的。在包含CAD、內容創作、能源、娛樂、游戲開發、製造業、製藥業及虛擬現實等行業領域中,O...
  • Background ProcessingRZ01Job Scheduling MonitorSM36Schedule Background JobSM36WIZJob definition wizardSM37Overview of job selectionSM37BSimple version...
  • IOC:Inversion of Control(控制反轉)。IOC它所體現的並不是一種技術,而是一種思想,一種將設計好的對象交給容器來管理的思想。IOC的核心思想就體現在控制、反轉這兩個詞上面,要理解就必須要理解幾個問題: 1、誰控制誰?在傳統的開發工作中,我們一般都是主動去new一個對象,這個是...
  • 每一種語言都有相應的關鍵詞,每個關鍵詞都有他獨特的作用,來看看swfit中的關鍵詞:關鍵詞:用來聲明的:class, deinit, enum, extension, func, import, init, let, protocol, static, struct, subscript, type...
  • 使用的系統是Ubuntu 11.10.資料庫是MySQL。MySQL資料庫環境配置首先需要安裝MySQL客戶端和伺服器,命令行安裝方式為:[cpp]view plaincopyprint?sudoapt-getinstallmysql-servermysql-client然後,要使用C語言編程訪問數...
  • 以後再做記錄5.1、對於HashMap需要掌握以下幾點Map的創建:HashMap()往Map中添加鍵值對:即put(Object key, Object value)方法獲取Map中的單個對象:即get(Object key)方法刪除Map中的對象:即remove(Object key)方法判斷對...
  • #import int main(int argc, const char * argv[]) { @autoreleasepool { /** * length獲取字元串長度,即獲取字元個數 */// NSString *str=...
  • Java 7支持整個目錄樹的遍歷;Demo:import java.io.IOException;import java.nio.file.FileVisitResult;import java.nio.file.Files;import java.nio.file.Path;import java...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...