介紹
java
類 Printwriter
java.lang.Object
java.Writer
java.PrintWriter
所有已實現的接口:
Closeable, Flushable, Appendable。
--------------------------------------------------------------------------------
與 PrintStream 類不同
public class PrintWriter extends Writer向文本輸出流列印對象的格式化表示形式。此類實現在 PrintStream 中的所有 print 方法。它不包含用於寫入原始位元組的方法,對於這些位元組,程式應該使用未編碼的位元組流進行寫入。
與 PrintStream 類不同,如果啟用了自動刷新,則只有在調用 println、printf 或 format 的其中一個方法時才可能完成此操作,而不是每當正好輸出換行符時才完成。這些方法使用平台自有的行分隔設定概念,而不是換行符。
此類中的方法不會拋出 I/O 異常,儘管其某些構造方法可能拋出異常。客戶端可能會查詢調用 checkError() 是否出現錯誤。
從以下版本開始:
JDK1.1
--------------------------------------------------------------------------------
欄位摘要
protected Writer out
此 PrintWriter 的底層字元輸出流。
從類 java.Writer 繼承的欄位
lock
構造方法摘要
PrintWriter(File file)
使用指定檔案創建不具有自動行刷新的新 PrintWriter。
PrintWriter(File file, String csn)
創建具有指定檔案和字元集且不帶自動刷行新的新 PrintWriter。
PrintWriter(OutputStream out)
根據現有的 OutputStream 創建不帶自動行刷新的新 PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush)
通過現有的 OutputStream 創建新的 PrintWriter。
PrintWriter(String fileName)
創建具有指定檔案名稱稱且不帶自動行刷新的新 PrintWriter。
PrintWriter(String fileName, String csn)
創建具有指定檔案名稱稱和字元集且不帶自動行刷新的新 PrintWriter。
PrintWriter(Writer out)
創建不帶自動行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush)
創建新 PrintWriter。
方法摘要
PrintWriter append(char c)
將指定字元添加到此 writer。
PrintWriter append(CharSequence csq)
將指定的字元序列添加到此 writer。
PrintWriter append(CharSequence csq, int start, int end)
將指定字元序列的子序列添加到此 writer。
boolean checkError()
如果流沒有關閉,則刷新流且檢查其錯誤狀態。
protected void clearError()
清除此流的錯誤狀態。
void close()
關閉該流並釋放與之關聯的所有系統資源。
void flush()
執行更新
刷新該流的緩衝
PrintWriter format(Locale l, String format, Object... args)
使用指定格式字元串和參數將一個格式化字元串寫入此 writer 中。
PrintWriter format(String format, Object... args)
使用指定格式字元串和參數將一個格式化字元串寫入此 writer 中。
void print(boolean b)
列印 boolean 值。
void print(char c)
列印字元。
void print(char[] s)
列印字元數組。
void print(double d)
列印 double 精度浮點數。
void print(float f)
列印一個浮點數。
void print(int i)
列印整數。
void print(long l)
列印 long 整數。
void print(Object obj)
列印對象。
void print(String s)
列印字元串。
PrintWriter printf(Locale l, String format, Object... args)
使用指定格式字元串和參數將格式化的字元串寫入此 writer 的便捷方法。
PrintWriter printf(String format, Object... args)
使用指定格式字元串和參數將格式化的字元串寫入此 writer 的便捷方法。
void println()
通過寫入行分隔設定字元串終止當前行。
void println(boolean x)
列印 boolean 值,然後終止該行。
void println(char x)
列印字元,然後終止該行。
void println(char[] x)
列印字元數組,然後終止該行。
void println(double x)
列印雙精度浮點數,然後終止該行。
void println(float x)
列印浮點數,然後終止該行。
void println(int x)
列印整數,然後終止該行。
void println(long x)
列印 long整數,然後終止該行。
void println(Object x)
列印 Object,然後終止該行。
void println(String x)
列印 String,然後終止該行。
protected void setError()
指示已發生錯誤。
void write(char[] buf)
如何寫入
寫入字元數組
void write(char[] buf, int off, int len)
寫入字元數組的某一部分。
void write(int c)
寫入單個字元。
void write(String s)
寫入字元串。
void write(String s, int off, int len)
寫入字元串的某一部分。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
欄位詳細信息
out
protected Writer out此 PrintWriter 的底層字元輸出流。
從以下版本開始:
1.2
構造方法詳細信息
PrintWriter
public PrintWriter(Writer out)創建不帶自動行刷新的新 PrintWriter。
參數:
out - 字元輸出流
--------------------------------------------------------------------------------
PrintWriter變數
public PrintWriter(Writer out,
boolean autoFlush)創建新 PrintWriter。
參數:
out - 字元輸出流
autoFlush - boolean 變數;如果為 true,則 println、printf 或 format 方法將刷新輸出緩衝區
--------------------------------------------------------------------------------
PrintWriter
public PrintWriter(OutputStream out)根據現有的 OutputStream 創建不帶自動行刷新的新 PrintWriter。此便捷構造方法創建必要的中間 OutputStreamWriter,後者使用默認字元編碼將字元轉換為位元組。
參數:
out - 輸出流
另請參見:
OutputStreamWriter.OutputStreamWriter(java.ioOutputStream)
--------------------------------------------------------------------------------
PrintWriter
public PrintWriter(OutputStream out,
boolean autoFlush)通過現有的 OutputStream 創建新的 PrintWriter。此便捷構造方法創建必要的中間 OutputStreamWriter,後者使用默認字元編碼將字元轉換為位元組。
參數:
out - 輸出流
autoFlush - boolean 變數;如果為 true,則 println、printf 或 format 方法將刷新輸出緩衝區
另請參見:
OutputStreamWriter.OutputStreamWriter(java.ioOutputStream)
--------------------------------------------------------------------------------
PrintWriter
public PrintWriter(String fileName)
throws FileNotFoundException創建具有指定檔案名稱稱且不帶自動行刷新的新 PrintWriter。此便捷構造方法創建必要的中間 OutputStreamWriter,後者將使用此 Java 虛擬機實例的默認 charset 進行字元編碼。
參數:
fileName - 用作此 writer 目標的檔案名稱稱。如果存在該檔案,則將其大小截取為零;否則,創建一個新檔案。將輸出寫入檔案中,並對其進行緩衝處理。
拋出:
FileNotFoundException - 如果給定的字元串不表示現有的可寫常規檔案,並且無法創建該名稱的新常規檔案,或者在打開或創建檔案時發生其他一些錯誤
SecurityException - 如果存在安全管理器,並且 checkWrite(fileName) 拒絕對檔案進行寫入訪問。
從以下版本開始:
1.5
--------------------------------------------------------------------------------
PrintWriter
public PrintWriter(String fileName,
String csn)
throws FileNotFoundException,
UnsupportedEncodingException創建具有指定檔案名稱稱和字元集且不帶自動行刷新的新 PrintWriter。此便捷構造方法創建必要的中間 OutputStreamWriter,後者將使用提供的字元集進行字元編碼。
參數:
fileName - 用作此 writer 目標的檔案名稱稱。如果存在該檔案,則將其大小截取為零;否則,創建一個新檔案。將輸出寫入檔案中,並對其進行緩衝處理。
csn - 受支持的字元集的名稱
拋出:
FileNotFoundException - 如果給定的字元串不表示現有的可寫常規檔案,並且無法創建該名稱的新常規檔案,或者在打開或創建檔案時發生其他一些錯誤
SecurityException - 如果存在安全管理器,並且 checkWrite
代碼
/**
* Closes the stream and releases any system resources associated
* with it. Closing a previously closed stream has no effect.
*
* @see #checkError()
*/
public void close() {
try {
synchronized (lock) {
if (out == null)
return;
out.close();
out = null;
}