當前位置:首頁 » 編程語言 » java的printwriter

java的printwriter

發布時間: 2022-05-21 11:43:07

java中PrintWriter的write()方法的使用,為什麼這里兩語句的位置換了一下,列印結果就不一樣了

println(String str)是先調用print(String str) 再調println()(這個是無參的),
println()會調用newLine()方法,
newLine()方法判斷autoFlush(聲明PrintWriter對象第二個參數),true的話會執行flush()方法,
write()則不執行flush()方法,
所以println放在後面兩個都有(write,print,println,flush),放前面後面的沒有(print,println,slush,write)
如果autoflush是false,兩次都沒有輸出了

② java PrintWriter 和 FileWriter的區別

FileReader 和FileWriter都是繼承父類的方法。他們本身的類中沒有重寫父類的任何方法。實際上就是等價於他們的父類outputStreamWriter,inputSteamReader
至於它們存在的意義只是為了方便理解,一看就知道是用來寫入字元文件的類!!!
FileWriter 很明顯是針對文件的封裝
PrintWriter 則更普遍一點
而在寫文件時
我認為
PrintWriter out = new PrintWriter(
new BufferedWriter(
new FileWriter(filename)))
比較好點
PrintWriter 提供print系方法
BufferedWriter 提供緩沖,用以加速
FileWriter 用於寫文件
FileWriter類/FileReader類:
用於對字元文件的讀寫的便捷的結點流類,
使用時最好用BufferedReader/BufferedWriter對其進行包裝。

PrintStream類(如System.out):
格式化列印輸出位元組數據的流,該類提供的print[ln]()方法可格式化列印輸出各種類型的數據(包括類對象),
它使用平台的默認字元編碼將所有字元都轉換為位元組列印輸出(寫入)。

在需要寫入字元而不是寫入位元組的情況下,應該使用PrintWriter類。

③ java PrintWriter 的意思

printwriter類:
java.io
類 PrintWriter
java.lang.Object
java.io.Writer
java.io.PrintWriter
所有已實現的介面:
Closeable, Flushable, Appendable
--------------------------------------------------------------------------------
public class PrintWriter extends Writer向文本輸出流列印對象的格式化表示形式。此類實現在 PrintStream 中的所有 print 方法。它不包含用於寫入原始位元組的方法,對於這些位元組,程序應該使用未編碼的位元組流進行寫入。
與 PrintStream 類不同,如果啟用了自動刷新,則只有在調用 println、printf 或 format 的其中一個方法時才可能完成此操作,而不是每當正好輸出換行符時才完成。這些方法使用平台自有的行分隔符概念,而不是換行符。
此類中的方法不會拋出 I/O 異常,盡管其某些構造方法可能拋出異常。客戶端可能會查詢調用 checkError() 是否出現錯誤。
從以下版本開始:
JDK1.1
--------------------------------------------------------------------------------
欄位摘要
protected Writer out
此 PrintWriter 的底層字元輸出流。
從類 java.io.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.io.OutputStream)
--------------------------------------------------------------------------------
PrintWriter
public PrintWriter(OutputStream out,
boolean autoFlush)通過現有的 OutputStream 創建新的 PrintWriter。此便捷構造方法創建必要的中間 OutputStreamWriter,後者使用默認字元編碼將字元轉換為位元組。
參數:
out - 輸出流
autoFlush - boolean 變數;如果為 true,則 println、printf 或 format 方法將刷新輸出緩沖區
另請參見:
OutputStreamWriter.OutputStreamWriter(java.io.OutputStream)
--------------------------------------------------------------------------------
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

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/teedry/archive/2009/06/18/4280061.aspx

④ java中,PrintWriter類的flush()是做什麼用的

flush,字面上是沖刷的意思。flush()方法用於強制將內存緩沖區的數據流刷入文件。進行流的操作時,數據首先會被讀到內存中,然後再寫到文件中。在進行流的操作時,我們都知道最後需要調用out.close()這個方法,如果最後調用了.close()方法的話,是不需要在這之前調用.flush()的,因為.close()方法內部會自動調用.flush()。

⑤ java PrintWriter

printwriter()的作用是為了定義流輸出的位置,並且此流可以正常的存儲中文,減少亂碼輸出。舉例:
printwriter
out
=
new
printwriter(new
outputstreamwriter(new
fileoutputstream("d:/text.txt"),
"utf-8"));//定義輸出流位置,並且文件必須存在
out.println("中文測試");//寫入內容
out.close();//關閉流
備註:文件流用完之後必須及時通過close方法關閉,否則會一直處於打開狀態,直至程序停止,增加系統負擔。

⑥ 關於JAVA中的PrintWriter方法

PrintWriter
public
PrintWriter(OutputStream
out,

boolean
autoFlush)

通過現有的
OutputStream
創建新的
PrintWriter。此便捷構造方法創建必要的中間
OutputStreamWriter,後者使用默認字元編碼將字元轉換為位元組。

參數:

out
-
輸出流

autoFlush
-
boolean
變數;如果為
true,則
println、printf

format
方法將刷新輸出緩沖區

⑦ 關於Java中的PrintStream與PrintWriter

你理解錯了哦!

PrintStream 為其他輸出流添加了功能,使它們能夠方便地列印各種數據值表示形式。它還提供其他兩項功能。與其他輸出流不同,PrintStream 永遠不會拋出 IOException;而是,異常情況僅設置可通過 checkError 方法測試的內部標志。另外,為了自動刷新,可以創建一個 PrintStream;這意味著可在寫入 byte 數組之後自動調用 flush 方法,可調用其中一個 println 方法,或寫入一個換行符或位元組 ('\n')。

PrintStream 列印的所有字元都使用平台的默認字元編碼轉換為位元組。在需要寫入字元而不是寫入位元組的情況下,應該使用 PrintWriter 類。
向文本輸出流列印對象的格式化表示形式。此類實現在 PrintStream 中的所有 print 方法。它不包含用於寫入原始位元組的方法,對於這些位元組,程序應該使用未編碼的位元組流進行寫入。

⑧ Java 關於PrintWriter,求高手解答

1.所謂的格式化表現形式,指的是PrintWriter 中format(String format, Object... args)和format(Locale l, String format, Object... args) 的字元串格式化方法。詳情請參見String.format()的用法。例如,可以將一個double型數據以保留兩位小數,前面用0補齊10位這樣的格式輸出。

如:System.out.println(String.format("%1$,09d", -3123));輸出為-0003,123。

2.所謂原始位元組,就是byte值,電腦中的數據都是以位元組(byte)存在的,一個byte有8位,展現出來就是 0x000000ff 類似這個樣子。這個樣子是沒法直接向PrintWriter 輸入的,只能以inputStream的形式輸入。

3.這個問題就得和你普及下位元組流和字元流的概念了,位元組流剛才和你說過了,就是由許多的byte組成的流,它本身不包含任何文字編碼。但是要在屏幕上列印出來,就必須編碼才行了。比如我們常用的UTF-8編碼,還有GBK編碼和GB2312編碼。編碼錯誤,可是會出亂碼的。

4.所謂的自動刷新(flush),就是PrintStream 類的流輸入過程中,如果遇到換行符(/n)就會自動列印一行。或者自動向某個輸出流輸出數據。

5.平台自有的分隔符會根據操作系統和環境的改變而改變,你可以通過System.getProperty("line.separator")方法查詢。在format中的替代符號是%n

⑨ 關於Java中PrintWriter方法

PrintWriter
public
PrintWriter(OutputStream
out,
boolean
autoFlush)
通過現有的
OutputStream
創建新的
PrintWriter。此便捷構造方法創建必要的中間
OutputStreamWriter,後者使用默認字元編碼將字元轉換為位元組。
參數:
out
-
輸出流
autoFlush
-
boolean
變數;如果為
true,則
println、printf

format
方法將刷新輸出緩沖區

⑩ java中printWriter()的作用

基於字元的輸出流,可以輸出字元或字元串整型等數據。輸出的目標可以是磁碟文件、其他輸出流。

熱點內容
python集合運算符 發布:2025-02-14 03:06:18 瀏覽:204
pic編譯軟體 發布:2025-02-14 03:01:04 瀏覽:983
反編譯在編譯 發布:2025-02-14 02:55:36 瀏覽:417
python列印對象 發布:2025-02-14 02:51:20 瀏覽:572
QRM演算法 發布:2025-02-14 02:45:19 瀏覽:265
c語言列印結構體 發布:2025-02-14 02:42:28 瀏覽:140
編譯技術實驗一 發布:2025-02-14 02:28:24 瀏覽:647
編程手機入門 發布:2025-02-14 02:27:40 瀏覽:733
區域網視頻android 發布:2025-02-14 02:23:56 瀏覽:423
麒麟系統如何安裝安卓程序 發布:2025-02-14 02:07:21 瀏覽:399