




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、IO流總結(jié)異常父類是Throwable,處理異常的兩種方案,一種try -catch 另外一種拋出熟練使用Try-catch-finally,注意: 能和try一起使用的只有catch和finally關(guān)鍵字Try塊里面存放的是有可能發(fā)生異常的代碼,通常和catch塊一起使用,catch塊用于處理try塊中拋出的異常,finally塊不是必須的,通常將釋放資源(例如IO流的close方法)的代碼放到finally塊里面注意:finally和Final還有Finalize的區(qū)別File類注意:File類封裝的路徑,而不一定是一個(gè)具體的文件,File類不能用于讀寫文件,File類只能用來處理和文件相
2、關(guān)的操作構(gòu)造方法* File(String pathname):根據(jù)一個(gè)路徑得到File對(duì)象* File(String parent, String child):根據(jù)一個(gè)目錄和一個(gè)子文件/目錄得到File對(duì)象* File(File parent, String child):根據(jù)一個(gè)父File目錄和一個(gè)子文件/目錄得到File對(duì)象創(chuàng)建功能* public boolean mkdir():創(chuàng)建文件夾 如果存在這樣的文件夾,就不創(chuàng)建了* public boolean mkdirs():創(chuàng)建文件夾,如果父文件夾不存在,會(huì)幫你創(chuàng)建出來注意:mkdir只能創(chuàng)建單級(jí)目錄,mkdirs用于創(chuàng)建多級(jí)目錄判斷
3、功能, * public boolean isDirectory():判斷是否是目錄* public boolean isFile():判斷是否是文件* public boolean exists():判斷文件是否存在注意:判斷功能返回的都是布爾類型的獲取功能* public String getName():獲取名稱* public long length():獲取長(zhǎng)度。字節(jié)數(shù)* public File listFiles():獲取指定目錄下的所有文件或者文件夾對(duì)象,返回的是File數(shù)組 * public File listFiles(FilenameFilter filter):
4、注意:此方法需要傳入篩選文件名的接口FileNameFilter,用于過濾文件概念* Input Output流用來處理設(shè)備之間的數(shù)據(jù)傳輸,Java中輸入輸出功能是通過流來實(shí)現(xiàn),把數(shù)據(jù)寫入文件需要?jiǎng)?chuàng)建流對(duì)象* Java對(duì)數(shù)據(jù)的操作是通過流的方式* Java用于操作流的類都在IO包中* 流按流向分為兩種:輸入流,輸出流。注意:讀取文件都用輸入流,寫出文件都用輸出流* 流按操作類型分為兩種:* 字節(jié)流 : 字節(jié)流可以操作任何數(shù)據(jù),因?yàn)樵谟?jì)算機(jī)中任何數(shù)據(jù)都是以字節(jié)的形式存儲(chǔ)的* 字符流 : 字符流只能操作純字符數(shù)據(jù),比較方便。注意:IO流父類是java.io包下的抽象類,非接口! 字符流和字節(jié)流的區(qū)
5、別在于每次讀取的字節(jié)數(shù)不一樣,字節(jié)流讀取的是單個(gè)字節(jié),而字符流讀取的是單個(gè)字符,相當(dāng)于兩個(gè)字節(jié). 字節(jié)流可以用于任何文件的拷貝,而字符流只能用于拷貝文本文件,通常都用字節(jié)流做拷貝,字符流只用于在只讀或者只寫的情況下.字節(jié)流 |-InputStream(字節(jié)輸入流,字節(jié)流的抽象父類,抽象類不能直接創(chuàng)建對(duì)象,必須使用子類)|-FileInputStream(文件字節(jié)輸入流,就是以字節(jié)的形式讀取文件內(nèi)容)|-read()每次讀取一個(gè)字節(jié)(byte),但是返回值類型,為int類型,防止出現(xiàn)文件提前結(jié)束|-read(byte b)每次讀取多個(gè)字節(jié),將內(nèi)容放入字節(jié)數(shù)組b中|-BufferedInputSt
6、ream(字節(jié)輸入緩沖流,其實(shí)就是一個(gè)包裝類,創(chuàng)建對(duì)象時(shí)要接收一個(gè)InputStream,內(nèi)部封裝了一個(gè)1024*8的字節(jié)數(shù)組)|-使用BufferedInputStream就不用再定義數(shù)組了|-OutputStream(字節(jié)輸出流,字節(jié)流的抽象父類)|-FileOutputStream(文件字節(jié)輸出流,就是以字節(jié)的形式將內(nèi)容寫入到文件中)注意:創(chuàng)建FileOutputStream時(shí)候在構(gòu)造參數(shù)里面?zhèn)魅雝rue,可以實(shí)現(xiàn)續(xù)寫功能,即添加數(shù)據(jù)到末尾.|-write(int b)一次寫出一個(gè)字節(jié)|-write(byte b)將字節(jié)數(shù)組b里的內(nèi)容寫入到文件中|-write(byte b, int o
7、ff, int len)將字節(jié)數(shù)組b里的內(nèi)容,從索引為off的位置開始,總共寫len個(gè)注意:字節(jié)輸出流沒有直接寫出字符串的功能,需要將字符串轉(zhuǎn)為字節(jié)數(shù)組才能輸出 通過FileInputStream和FileOutputStream可以對(duì)任意類型的文件復(fù)制拷貝|-BufferedOutputStream(字節(jié)輸出緩沖流,其實(shí)就是一個(gè)包裝類,創(chuàng)建對(duì)象時(shí)要接收一個(gè)OutputStream,內(nèi)部封裝了一個(gè)1024*8的字節(jié)數(shù)組) 字符流|-Reader(字符輸入流,字符流的抽象父類,抽象類不能直接創(chuàng)建對(duì)象,必須使用子類)|-FileReader(文件字符輸入流,就是以字符的形式讀取文本文件中的內(nèi)容)|
8、-read()每次讀取一個(gè)字符,即可以按照字符大小讀取,返回值類型提升為int類型|-read(char b)每次讀取多個(gè)字符,將內(nèi)容放入字符數(shù)組b中|-BufferedReader(字符輸入緩沖流,其實(shí)就是一個(gè)包裝類,注意:創(chuàng)建對(duì)象時(shí)要接收一個(gè)Reader,內(nèi)部封裝了一個(gè)1024*8的字符數(shù)組),例如傳入FileReader或轉(zhuǎn)換流InputStreamReader都可以|-使用BufferedReader和BufferedWriter就不用再定義數(shù)組了|-readLine()可以讀取一行字符(不包含換行符號(hào)),注意:只有BufferReader才有讀取一行的方法,其他流沒有|-newLin
9、e()是寫入換行方法,根據(jù)不同系統(tǒng)平臺(tái)可以執(zhí)行相應(yīng)換行操作,即可以跨平臺(tái)|-LineNumberReader是BufferedReader的子類, 具有相同的功能, 并且可以統(tǒng)計(jì)行號(hào)|-getLineNumber()方法可以獲取當(dāng)前行號(hào)|-setLineNumber()方法可以設(shè)置當(dāng)前行號(hào)|-Writer(字符輸出流,字符流的抽象父類)|-FileWriter(文件字符輸出流,就是以字符的形式將內(nèi)容寫入到文件中)|-write('a')/write("aaaa")可以寫入單個(gè)字符或者寫入字符串|-write(char b, int off, int len)
10、將字符數(shù)組b里的內(nèi)容,從所以為off的位置開始,總共寫len個(gè)注意:FileInputStream和FileOutputStream用于讀寫字節(jié)流的 FileReader和FileWriter是用于讀寫字符流的字符流不能用于圖片的拷貝,只能拷貝文本文件|-BufferedWriter(字符輸出緩沖流,其實(shí)就是一個(gè)包裝類,創(chuàng)建對(duì)象時(shí)要接收一個(gè)Writer,內(nèi)部封裝了一個(gè)1024*8的字符數(shù)組) |-newLine()可以輸出一個(gè)跨平臺(tái)的換行符號(hào)"rn"轉(zhuǎn)換流(使用指定的碼表讀寫字符) |-InputStreamReader字節(jié)輸入流到字符輸入流的橋梁|-Output
11、StreamWriter字符輸出流到字節(jié)輸出流的橋梁其它流|-SequenceInputStream序列流|-序列流可以把多個(gè)字節(jié)輸入流整合成一個(gè), 從序列流中讀取數(shù)據(jù)時(shí), 將從被整合的第一個(gè)流開始讀, 讀完一個(gè)之后繼續(xù)讀第二個(gè), 以此類推.|-SequenceInputStream(InputStream in1,InputStream in2)|-SequenceInputStream(Enumeration en)|-ByteArrayOutputStream字節(jié)數(shù)組內(nèi)存輸出流|-是將文件或鍵盤錄入的數(shù)據(jù)寫入到內(nèi)存中的字節(jié)數(shù)組|-ByteArrayInputStream字節(jié)數(shù)組內(nèi)存輸入流
12、|-是以字節(jié)的方式讀取內(nèi)存中的字節(jié)數(shù)組數(shù)據(jù)|-創(chuàng)建此對(duì)象要傳遞一個(gè)字節(jié)數(shù)組|-RandomAccessFile隨機(jī)讀寫訪問流|-該流同時(shí)具有讀和寫的功能|-seek(long pos)設(shè)置讀取和寫入的位置|-對(duì)象操作流|-ObjectOutputStream將對(duì)象寫入到文件,要求對(duì)象所屬的類實(shí)現(xiàn)Serializable接口,該接口里面沒有內(nèi)容,只是一個(gè)標(biāo)記,可以給此類添加個(gè)序列號(hào)ID,也可以不加.|-writeObject()此方法將對(duì)象寫到文件|-ObjectInputStream將上面存入到文件中的對(duì)象讀取出來,因?yàn)榇娴臅r(shí)候所有對(duì)象是按照Object存入,所以取出來要進(jìn)行強(qiáng)制類型轉(zhuǎn)換注意:
13、寫出的對(duì)象需要實(shí)現(xiàn)序列化接口,即Serializable接口,否則報(bào)錯(cuò)|-readObject()可以從文件讀取對(duì)象出來|-數(shù)據(jù)輸入輸出流|-DataInputStream數(shù)據(jù)輸入流,就是從文件讀取特定類型的數(shù)據(jù)|-readInt()從文件中讀取一個(gè)int類型的數(shù)據(jù)|-readLong()從文件讀取一個(gè)long類型的數(shù)據(jù)|-DataOutputStream數(shù)據(jù)輸出流,向文件寫出特定類型的數(shù)據(jù)|-writeInt()向文件寫入一個(gè)int類型的數(shù)據(jù)|-writeLong()向文件寫入一個(gè)long類型的數(shù)據(jù)|-打印流PrintStream注意:PrintWriter,只操作數(shù)據(jù)目的,不操作數(shù)據(jù)源,P
14、rintln可以自動(dòng)刷新,是Writer的子類|-標(biāo)準(zhǔn)輸入輸出流|-System.in是InputStream, 標(biāo)準(zhǔn)輸入流, 默認(rèn)可以從鍵盤輸入讀取字節(jié)數(shù)據(jù)|-System.setIn(InputStream)修改輸入流|-System.out是PrintStream, 標(biāo)準(zhǔn)輸出流, 默認(rèn)可以向Console中輸出字符和字節(jié)數(shù)據(jù)|-System.setOut(PrintStream)修改輸出流|-鍵盤錄入的兩種方式|-Scanner sc = new Scanner(System.in);|-BufferedReader br = new BufferedReader(new InputSt
15、reamReader(System.in);|-Properties是Hashtable的子類,是一個(gè)Map,存放的是鍵值對(duì),一般用于項(xiàng)目的配置文件,配置文件中鍵和值的類型都為String類型|-setProperty(String key,String value)向Properties中存入鍵值對(duì)|-getProperty(String key)根據(jù)鍵獲取值|-public Enumeration<String> stringPropertyNames()以String的形式獲取所有的鍵,并封裝成Enumeration對(duì)象,之后進(jìn)行遍歷|-load(InputStream inStream) 將字節(jié)輸入流inStream
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子商務(wù)平臺(tái)商品代理銷售居間服務(wù)協(xié)議
- 管道支護(hù)施工方案
- 瑜伽教學(xué)考試題及答案
- 駐地場(chǎng)地布置方案
- 汽車國(guó)標(biāo)考試題及答案
- 幼兒國(guó)考試題及答案
- 青島工商面試題及答案
- 園林天井裝修方案
- 民宅租房改造方案
- 2026版《全品高考》選考復(fù)習(xí)方案生物604 第19講 第2課時(shí) 中心法則及基因表達(dá)含答案
- 2026年中考英語復(fù)習(xí):338條核心短語背誦卡+默寫卡
- 關(guān)于員工廉潔培訓(xùn)課件
- 2025年福建省中考語文試卷真題(含標(biāo)準(zhǔn)答案)
- 2024江西現(xiàn)代職業(yè)技術(shù)學(xué)院招聘筆試真題帶答案詳解
- 2025年兒童青少年近視防控白皮書
- 消防系統(tǒng)施工總進(jìn)度計(jì)劃
- 2022年廣東省中山市紀(jì)念中學(xué)三鑫雙語學(xué)校小升初數(shù)學(xué)試卷
- JJG30-2012通用卡尺檢定規(guī)程
- 人教版八年級(jí)下英語單詞測(cè)試卷
- 《衛(wèi)所武職選簿》所反映的鄭和下西洋史事
- 混凝土結(jié)構(gòu)及砌體結(jié)構(gòu)課程設(shè)計(jì)(共18頁)
評(píng)論
0/150
提交評(píng)論