小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

學(xué)習(xí)PrintWriter類

 計(jì)科圖書 2014-08-16

java.io包

1)首先先知道它的八種構(gòu)造方法,但怎么記住這八種呢?我們都知道PrintWriter是一種過濾流,也叫處理流。也就是能對字節(jié)流和字符流進(jìn)行處理,所以它會有:

PrintWriter(OutputStream out)  根據(jù)現(xiàn)有的 OutputStream 創(chuàng)建不帶自動行刷新的新 PrintWriter。

PrintWriter(Writer out)  創(chuàng)建不帶自動行刷新的新 PrintWriter。


  這兩種構(gòu)造方法。由于PrintWriter能夠?qū)崿F(xiàn)自動刷新所以又衍生出另兩種:

PrintWriter(OutputStream out, boolean autoFlush)  通過現(xiàn)有的 OutputStream 創(chuàng)建新的 PrintWriter。

PrintWriter(Writer out, boolean autoFlush)  創(chuàng)建新 PrintWriter


  true代表能自動刷新。注意這四種均不能指定編碼集,但PrintStream中對OutprintStream操作時(shí)是可以的?!酒渲性蛭也恢?,有知道的朋友歡迎指教】。

  然后PrintWriter能夠直接對文件操作,所以還有這兩種構(gòu)造方法:

PrintWriter(File file) 使用指定文件創(chuàng)建不具有自動行刷新的新 PrintWriter。

PrintWriter(String fileName)  創(chuàng)建具有指定文件名稱且不帶自動行刷新的新 PrintWriter。


  注意該構(gòu)造方法無法指定能否自動刷新,但可以指定字符集所以又衍生出兩種:

PrintWriter(File file, String csn)  創(chuàng)建具有指定文件和字符集且不帶自動刷行新的新 PrintWriter。

PrintWriter(String fileName, String csn)  創(chuàng)建具有指定文件名稱和字符集且不帶自動行刷新的新 PrintWriter。


2)熟記這八種構(gòu)造方法,你可以隨心構(gòu)造你需要的PrintWriter對象了(假如為pw)。那它實(shí)現(xiàn)了什么接口呢?

1.Closeable接口, 所以它有pw.close()方法來實(shí)現(xiàn)對PrintWriter的關(guān)閉。

2.Flushable接口,所以它有pw.flush()方法來實(shí)現(xiàn)人為的刷新。

3.Appendable接口,所以它有pw.append(char c)方法來向此輸出流中追加指定字符,等價(jià)于print().

3)下面就是它的方法。

返回類型為PrintWriter的方法

append(char c)

format(String regex,Object args)以指定格式的字符串和參數(shù)寫入PrintWriter,我個(gè)人認(rèn)為等同于printf

printf()

返回類型為void的方法

println(Object obj)打印obj,可以是基本數(shù)據(jù)類型或?qū)ο?,并換行

print(Object obj)同上,但不換行

write(int i) 寫入單個(gè)字符i

write(char[] buf)  寫入字符數(shù)組。

write(char[] buf, int off, int len)  寫入字符數(shù)組的某一部分。

write(String s) 寫入字符串 

write(String s, int off, int len)寫入字符串的某一部分

個(gè)人認(rèn)為:write()方法與print()方法基本一致 但是write(char[] buf, int off, int len)print()不行。但筆者推薦使用Print系列方法,這正是PrintWriter類的價(jià)值所在。

返回類型為boolean類型的方法

checkError() 刷新流并檢查其錯(cuò)誤狀態(tài)

4)舉例:

import java.io.IOException;
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.File;


public class PrintWriterDemo {

public static void main(String[] args) {
PrintWriter pw = null;
String name = "張松偉";
int age = 22;
float score = 32.5f;
char sex = '男';
try{
pw = new PrintWriter(new FileWriter(new File("e:\\file.txt")),true);
pw.printf("姓名:%s;年齡:%d;性別:%c;分?jǐn)?shù):%5.2f;", name,age,sex,score);
pw.println();
pw.println("多多指教");
pw.write(name.toCharArray());
}catch(IOException e){
e.printStackTrace();
}finally{
pw.close();
}
}
}

上面這個(gè)例子中呢,完全可以把pw = new PrintWriter(new FileWriter(new File("e:\\file.txt")),true);中的new  FileWrite去掉 毫無影響且可以指定字符集。

總結(jié):PrintWriter是一個(gè)非常實(shí)用的輸出流,下一篇我將介紹一個(gè)非常實(shí)用的輸入流Scanner


           

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多