剛學(xué)java流技術(shù)IO編程時(shí),一下出來(lái)這么多流,很是不敏感,不感冒,在學(xué)習(xí)了這段時(shí)間,發(fā)現(xiàn)好多項(xiàng)目中的讀寫(xiě)數(shù)據(jù),輸入輸出用到的都是以前學(xué)的最基本的,但是自己卻不是很理解其根本,今天就說(shuō)幾個(gè)流中簡(jiǎn)單但又常用的幾個(gè)知識(shí)點(diǎn)
Java.io包中定義了多個(gè)流類型,來(lái)實(shí)現(xiàn)輸入輸出功能:
- 按數(shù)據(jù)流的方向不同可以分為輸入流和輸出流。(以程序的角度來(lái)考慮)
- 如:輸入流InputStream Reader 輸出流 OutputStream Writer
- 按處理數(shù)據(jù)單位不同可以分為字節(jié)流和字符流。
- 如: 字節(jié)流 InputStream OutputStream 字符流 Reader Writer
- 按照功能不同可以分為節(jié)點(diǎn)流和處理流。
通俗的說(shuō)節(jié)點(diǎn)流就是一個(gè)簡(jiǎn)單的輸入輸出流,而處理流是“連接”在已存在的字節(jié)流或處理流之上的,通過(guò)對(duì)數(shù)據(jù)的處理為程序提供更為強(qiáng)大的讀寫(xiě)功能。
我們最經(jīng)常用到的節(jié)點(diǎn)流類型是有關(guān)文件處理的有FileReader FileWriter FileInputStream FileOutputStream
Ø FileInputSteam 和 FileOutputStream 類支持其父類InputStream 和OutputStream 所提供的數(shù)據(jù)讀寫(xiě)方法。
Ø 注意:
§ 在實(shí)例化FileInputStream和FileOutputSteam流時(shí)要用try-catch語(yǔ)句以處理其可能拋出的FileNotFoundException。
§ 在讀寫(xiě)數(shù)據(jù)時(shí)也要用try-catch語(yǔ)句以處理可能拋出的 IOException。
§ FileNotFoundException是IOException的子類
FileReader 和 FileWriter 分別繼承自Reader和Writer,FileInputSteam與FileOutputStream類似,所不同的時(shí)FileReader和FileWriter向文件輸入和輸出的數(shù)據(jù)單位為字符。
處理流中常用到的有緩沖流 、轉(zhuǎn)換流。
l 緩沖流有BufferedReader BufferedWriter BufferedInputStream BufferedOutputStream ,緩沖流要“套接”在相應(yīng)的節(jié)點(diǎn)流之上,對(duì)讀寫(xiě)的數(shù)據(jù)提供了緩沖的功能,提高了讀寫(xiě)的效率,同時(shí)增加了一些新的方法
l BufferedReader提供了readLine方法用于讀取一行字符串(以"r或"n分 隔)。
l BufferedWriter提供了newLine用于寫(xiě)入一個(gè)行分隔符。
l 對(duì)于輸出的緩沖流,寫(xiě)出的數(shù)據(jù)會(huì)先在內(nèi)存中緩存,使用flush方法將會(huì)使內(nèi)存中的數(shù)據(jù)立刻寫(xiě)出。
在Socket編程中接受信息時(shí),不是直接用InputStream接收,而是把內(nèi)容放入緩沖之中進(jìn)行讀取 ,在Socket中的簡(jiǎn)單應(yīng)用如下


































































































轉(zhuǎn)換流InputStreamReader OutputStreamWriter 用于字節(jié)數(shù)據(jù)到字符數(shù)據(jù)之間的轉(zhuǎn)換。其中InputStreamReader 需要和InputStream”套接”,OutputStreamWriter需要和OutputStream套接
數(shù)據(jù)流DataInputStream DataOutputStream 提供了可以存取與機(jī)器無(wú)關(guān)的java原始數(shù)據(jù)類型
l Print流:PrintWriter和PrintStream都屬于輸出流,分別針對(duì)與字符和字節(jié),PrintWriter和PrintStream提供了重載的print,Println方法用于多種數(shù)據(jù)類型的輸出。PrintWriter和PrintStream的輸出操作不會(huì)拋出異常,用戶通過(guò)檢測(cè)錯(cuò)誤狀態(tài)獲取錯(cuò)誤信息。PrintWriter和PrintStream有自動(dòng)flush功能
l
這幾個(gè)流的類型都是在以后的學(xué)習(xí)中經(jīng)常用到的。就不一一做例子啦
以后所學(xué)到的所有流類型都是繼承 InputStream OutputStream Reader Writer 這四個(gè)抽象的流類型
摘要: 我相信大多說(shuō)人都對(duì)構(gòu)造方法、方法不陌生,而且很了解,但我也相信有很多像我這樣的沒(méi)有一個(gè)很好很清晰很全面的認(rèn)識(shí),今天就把它整理如下,希望能給大家?guī)?lái)點(diǎn)方便與幫助,也希望大家多多討論。 ... 閱讀全文 摘要: 今天我們用實(shí)例程序說(shuō)一下java中常見(jiàn)的生產(chǎn)者與消費(fèi)者的問(wèn)題。 首先看一下里面線程間的通信問(wèn)題: 一個(gè)線程向數(shù)據(jù)存儲(chǔ)空間添加數(shù)據(jù)(生產(chǎn)者),另一個(gè)線程從數(shù)據(jù)存儲(chǔ)空間去出數(shù)據(jù)(消費(fèi)者)。 這個(gè)程序中有兩個(gè)可能出現(xiàn)的問(wèn)題需要考慮: 1、 ... 閱讀全文 摘要: 項(xiàng)目需求:1.病人來(lái)掛號(hào)時(shí)根據(jù)自己想找的醫(yī)生掛相應(yīng)的醫(yī)生的號(hào),即加到相應(yīng)醫(yī)生的病人隊(duì)列中。 2.醫(yī)生看見(jiàn)自己的屏幕,點(diǎn)擊自己的名字,得到自己相應(yīng)列表的下一位病人 具體代碼如下: ... 閱讀全文 摘要: 1.當(dāng)我們?nèi)ャy行辦理什么業(yè)務(wù)的時(shí)候總會(huì)先在一個(gè)類似電腦的小系統(tǒng)上去一個(gè)號(hào),然后等著,當(dāng)被叫到時(shí)就去相應(yīng)的窗口辦理業(yè)務(wù),這種排隊(duì)的小系統(tǒng)主要用到了接口Queue,因?yàn)樗详?duì)列的要求先進(jìn)先出。 2.還有就是有種特殊情況就是,銀行的金卡用戶,他們的權(quán)限較高,總可以在普通用戶的前面辦理業(yè)務(wù) 相應(yīng)代碼如下: package com.dr.queue; public clas... 閱讀全文 代碼如下:























用戶名或密碼輸入不正確時(shí):

| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
26 | 27 | 28 | 29 | 30 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 | |||
10 | 11 | 12 | 13 | 14 | 15 | 16 | |||
17 | 18 | 19 | 20 | 21 | 22 | 23 | |||
24 | 25 | 26 | 27 | 28 | 29 | 30 | |||
31 | 1 | 2 | 3 | 4 | 5 | 6 |
常用鏈接
留言簿(13)
隨筆檔案
文章檔案
搜索
最新評(píng)論

- 1.?re: java中構(gòu)造方法和方法全面解析
- 為什么非要調(diào)用父類的構(gòu)造方法
- --zjy
- 2.?re: java-醫(yī)院病人排隊(duì)掛號(hào)醫(yī)生叫號(hào)簡(jiǎn)潔小系統(tǒng)
- 代碼不全 QueueServer 沒(méi)有
- --sss
- 3.?re: Java中thread類與Runnable接口的區(qū)別
- 受教了
- --李大明
- 4.?re: java中消費(fèi)者與生產(chǎn)者的問(wèn)題實(shí)例解析
- 樓主有沒(méi)有搞錯(cuò)啊 你的最后那個(gè)截圖后面不還是亂的嗎 不是一個(gè)一個(gè)交替輸出的啊
- --aben
- 5.?re: java堆棧存取實(shí)例小講解
-
@閆佳
上面有插入代碼--呵呵--- - --迷人笑笑