大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Javase經典基礎入門教程:IO流概述

Javase經典基礎入門教程:IO流概述

更新時間:2020-03-02 10:44:48 來源:動力節點 瀏覽2186次


  什么是IO,Input和Output,即輸入和輸出。


  電腦相關的IO設備:和電腦通信的設備,此時要站在電腦的角度,把信息傳遞給電腦叫輸入設備,把電腦信息傳遞出來的叫輸出設備。


  輸入設備:麥克風、掃描器、鍵盤、鼠標等


  輸出設備:顯示器、打印機、投影儀、耳機、音響等


  為什么程序需要IO呢?


  案例1:打游戲操作,需要存儲游戲的信息。


  此時需要把游戲中的數據存儲起來,數據只能存儲在文件中。


  案例2:打游戲操作,需求讀取之前游戲的記錄信息,數據存儲在一個文件中的。


  此時游戲程序需要去讀取文件中的數據,并顯示在游戲中。


  IO操作是一個相對的過程,一般的,我們在程序角度來思考(程序的內存)。


  程序需要讀取數據:文件——>程序,輸入操作


  程序需要保存數據:程序——>文件,輸出操作


Javase經典基礎入門教程:IO流概述


  1.1.2.IO操作示意圖(了解)


  講解IO知識點的時候,習慣和生活中的水流聯系起來,一起來看看復古的水井和水缸。


Javase經典基礎入門教程:IO流概述


  此時站在水缸的角度,分析IO的操作方向:


  輸入操作:水井——>水缸


  輸出操作:水缸——>飯鍋


  注意:誰擁有數據,誰就是源,把數據流到哪里,哪里就是目標。那么,請問水缸是源還是目標。


  1.1.3.流的分類(掌握)


  根據流的不同特性,流的劃分是不一樣的,一般按照如下情況來考慮:


  按流動方向:分為輸入流和輸出流


  按數據傳輸單位:分為字節流和字符流,即每次傳遞一個字節(byte)或一個字符(char)


  按功能上劃分:分為節點流和處理流,節點流功能單一,處理流功能更強


  流的流向是相對的,我們一般站在程序的角度:


  程序需要數據→把數據讀進來→輸入操作(read):讀進來


  程序保存數據→把數據寫出去→輸出操作(write):寫出去


  六字箴言:讀進來,寫出去(仔細揣摩這六個字有什么高深的含義)


  1.1.4.四大基流


Javase經典基礎入門教程:IO流概述


  操作IO流的模板:


  1):創建源或者目標對象(挖井).


  輸入操作:把文件中的數據流向到程序中,此時文件是源,程序是目標.


  輸出操作:把程序中的數據流向到文件中,此時文件是目標,程序是源.


  2):創建IO流對象(水管).


  輸入操作:創建輸入流對象.


  輸出操作:創建輸出流對象.


  3):具體的IO操作.


  輸入操作:輸入流對象的read方法.


  輸出操作:輸出流對象的write方法.


  4):關閉資源(勿忘).一旦資源關閉之后,就不能使用流對象了,否則報錯.


  輸入操作:輸入流對象.close();


  輸出操作:輸出流對象.close();


  注意:


  四大抽象流是不能創建對象的,一般的我們根據不同的需求創建他們不同的子類對象,比如操作文件時就使用文件流。


  不管是什么流,操作完畢都必須調用close方法,釋放資源。


  1.1.4.1.InputStream(字節輸入流)


  類的聲明為:publicabstractclassInputStreamextendsObjectimplementsCloseable,表示字節輸入流的所有類的超類。


  常用方法:


  publicvoidclose()throwsIOException:關閉此輸入流并釋放與該流關聯的所有系統資源。InputStream的close方法不執行任何操作。


  publicabstractintread()throwsIOException:從輸入流中讀取一個字節數據并返回該字節數據,如果到達流的末尾,則返回-1。


  publicintread(byte[]buff)throwsIOException:從輸入流中讀取多個字節數據,并存儲在緩沖區數組buff中。返回已讀取的字節數量,如果已到達流的末尾,則返回-1。


  1.1.4.2.OutputStream(字節輸出流)


  類的聲明為:publicabstractclassOutputStreamextendsObjectimplementsCloseable,Flushable,表示字節輸出流的所有類的超類。


  常用方法:


  publicvoidclose()throwsIOException:關閉此輸出流并釋放與此流有關的所有系統資源。


  publicabstractvoidwrite(intb)throwsIOException:將指定的一個字節數據b寫入到輸出流中。


  publicvoidwrite(byte[]buff)throwsIOException:把數組buff中所有字節數據寫入到輸出流中。


  publicvoidwrite(byte[]b,intoff,intlen)throwsIOException:把數組buff中從索引off開始的len個字節寫入此輸出流中。


  1.1.4.3.Reader(字符輸入流)


  類的聲明為:publicabstractclassReaderextendsObjectimplementsReadable,Closeable,表示字符輸入流的所有類的超類。


  常用方法:


  publicabstractvoidclose()throwsIOException:關閉此輸入流并釋放與該流關聯的所有系統資源。


  publicintread()throwsIOException:從輸入流中讀取一個字符數據并返回該字符數據,如果到達流的末尾,則返回-1。


  publicintread(char[]cbuf)throwsIOException:從輸入流中讀取多個字符,并存儲在緩沖區數組cbuf中。返回已讀取的字符數,如果已到達流的末尾,則返回-1。


  1.1.4.4.Writer(字符輸出流)


  類的聲明為:publicabstractclassWriterextendsObjectimplementsAppendable,Closeable,Flushable,表示字符輸出流的所有類的超類。


  常用方法:


  publicabstractvoidflush()throwsIOException:刷新此輸出流并強制寫出所有緩沖的輸出字符。


  publicabstractvoidclose()throwsIOException:關閉此輸入流并釋放與該流關聯的所有系統資源。


  publicvoidwrite(intc)throwsIOException:將指定的一個字符數據c寫入到輸出流中。


  publicvoidwrite(char[]cbuf)throwsIOException:把數組cbuf中cbuf.length個字符數據寫入到輸出流中。


  publicabstractvoidwrite(char[]cbuf,intoff,intlen)throwsIOException:把數組cbuf中從索引off開始的len個字符寫入此輸出流中。


  publicvoidwrite(Stringstr)throwsIOException:將str字符串數據寫入到輸出流中。


Javase經典基礎入門教程:IO流概述


      以上就是動力節點Java培訓機構小編介紹的“Javase經典基礎入門教程:IO流概述”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 夜夜爱夜夜爽 | 一级午夜a毛片免费视频 | 全部在线播放免费毛片 | 老外黑人欧美一级毛片 | 久久精品久久精品国产大片 | 中文字幕一区二区三区视频在线 | 一级a毛片免费观看 | 97影院在线午夜 | 国产成人精品曰本亚洲78 | 中文字幕丝袜在线56页 | 四虎午夜剧场 | 久草热久草在线 | 神马我我不卡伦影视 | 国产欧洲亚洲 | 99久久一区二区精品 | 亚州综合 | 精品视频午夜一区二区 | 欧美成人午夜做爰视频在线观看 | 欧美日韩中文字幕在线观看 | 99国产高清久久久久久网站 | 国产一区二区三区欧美精品 | 国产精品免费视频播放 | 四虎影院在线免费观看 | 91欧美亚洲 | 亚洲综色| 成人a毛片手机免费播放 | 91精品国产高清久久久久久io | 日日做日日摸夜夜爽 | 国产日韩欧美精品一区二区三区 | 美女被羞羞在线观看 | 天天干天天干 | 91精品成人福利在线播放 | 亚洲精国产一区二区三区 | 俺去也理论网站 | 欧美一级在线免费观看 | 欧美精品国产一区二区 | 精品国产夜色在线 | 日韩中文字幕精品视频在线 | 天天做天天爱天天爽天天综合 | 羞羞视频在线观看 | 色综合成人网 |