国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

IO流知識小結(jié)(一)

2019-11-14 09:49:52
字體:
供稿:網(wǎng)友

輸出流 這里寫圖片描述

輸入流 這里寫圖片描述

File類 這里寫圖片描述

File類學(xué)習(xí)代碼package com.imooc.file;import java.io.File;import java.io.IOException;public class FileDemo { public static void main(String[] args) { //創(chuàng)建File對象的三種構(gòu)造方法,由于反斜杠代表轉(zhuǎn)義字符,因此兩個反斜杠才能代表一個真正的反斜杠的作用 /* * File(String pathname) * ——通過將給定的路徑名??字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建新的文件實例。 * File(String parent, String child) * ——從父抽象路徑名和子路徑名字符串創(chuàng)建新的文件實例。 * 注意File類對象指向的路徑不需要一定存在 */ File file1=new File("G://imooc//io//score.txt");//方法一 File file2=new File("G://imooc","io//score.txt");//方法二 //方法3 /* * public File(File parent,String child) */ File file3=new File("G://imooc"); File file4=new File(file3,"io//score.txt"); //判斷是文件還是目錄 /* * public boolean isDirectory() * ——測試此抽象路徑名所表示的文件是否為目錄。 * public boolean isFile() * ——測試此抽象路徑名所表示的文件是否為文件。 */ System.out.字節(jié)輸入輸出流 一、字節(jié)流 這里寫圖片描述 1、字節(jié)輸入流類及其子類 之后的代碼重點(diǎn)學(xué)習(xí)文件輸入流和緩沖輸入流,字符輸入流等其他流可以對比著學(xué)習(xí),基本上是大同小異。 這里寫圖片描述 (1)文件輸入流及其常用方法 這里寫圖片描述 這里寫圖片描述

字節(jié)輸入流之文件輸入流學(xué)習(xí)代碼一package com.imooc.input_output_stream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class FileInputStreamDemo1 { public static void main(String[] args) { //創(chuàng)建一個FileInputStream對象 /* * 兩種常用構(gòu)造方法: * public FileInputStream(File file) throws FileNotFoundException * public FileInputStream(String name) throws FileNotFoundException */ try { //由于imooc.txt是存放在這個工程目錄下的,是相對路徑,因此直接寫文件名即可 FileInputStream fis=new FileInputStream("imooc.txt"); /* * public int read() throws IOException * ——從此文件輸入流讀取"一個"字節(jié),返回讀取的字節(jié)數(shù)據(jù). * 注意,讀取一個字節(jié)后就不會再讀取這個字節(jié)了,相當(dāng)于水管中取水滴 * 如果第二遍執(zhí)行read方法那么讀取的就是下一個字節(jié)了 */ int n; while((n=(fis.read()))!=-1)//讀取的字節(jié)為-1時,說明讀到了文件的末尾 { System.out.print((char) n);//將讀到的字節(jié)轉(zhuǎn)換為對應(yīng)的字符 } /* * public void close() throws IOException * ——關(guān)閉此文件輸入流,并釋放與流相關(guān)聯(lián)的任何系統(tǒng)資源。 * 要養(yǎng)成隨手關(guān)閉輸入流的習(xí)慣 */ fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) //由于FileNotFoundException是IOException的子類,因此IOException要放后面 { e.printStackTrace(); } }}字節(jié)輸入流之文件輸入流學(xué)習(xí)代碼二package com.imooc.input_output_stream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class FileInputStreamDemo2 { public static void main(String[] args) { try { FileInputStream fis=new FileInputStream("imooc.txt"); /* * public int read(byte[] b) throws IOException * ————從該輸入流中最多讀取b.length個字節(jié)的數(shù)據(jù)并存放在字節(jié)數(shù)組b中,返回實際讀取的字節(jié)數(shù) * public int read(byte[] b,int off,int len) throws IOException * ————從輸入流中最多讀取len個字節(jié)的數(shù)據(jù),并將其存放在字節(jié)數(shù)組b中,但放入數(shù)組b中時,從index為off的位置開始放 * 并返回實際讀取的字節(jié)數(shù) */ byte[] b=new byte[100]; fis.read(b);//等價于fis.read(b,0,12) //將字節(jié)數(shù)組轉(zhuǎn)換為字符串輸出,利用之前學(xué)過的String類構(gòu)造方法public String(byte[] bytes) System.out.println(new String(b)); fis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}

2、字節(jié)輸出流及其子類 這里寫圖片描述 (1)、文件輸出流及其常用方法 這里寫圖片描述

字節(jié)輸出流之文件輸出流學(xué)習(xí)代碼一package com.imooc.input_output_stream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutputStreamDemo1 { public static void main(String[] args) { try { /* * public FileOutputStream(String name) throws FileNotFoundException * ————用這種構(gòu)造方法創(chuàng)建的輸出流輸出字節(jié)時會覆蓋要寫入文件原有的數(shù)據(jù) * public FileOutputStream(File file,boolean append) throws FileNotFoundException * ————用這種構(gòu)造方法創(chuàng)建的輸出流輸出輸出字節(jié)時,若append為true則在要寫入文件最后寫入新輸出的數(shù)據(jù),否則覆蓋 */ FileOutputStream fos=new FileOutputStream("imooc.txt"); /* * public void write(int b) throws IOException * ————將指定的字符輸出到輸出流中,其中b既可以代表字節(jié),也可以代表字符 */ fos.write(50); fos.write('a');//字符是可以和整型之間相互轉(zhuǎn)換的 fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}字節(jié)輸出流之文件輸出流學(xué)習(xí)代碼二package com.imooc.input_output_stream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutputStreamDemo2 { public static void main(String[] args) { try { /* * public FileOutputStream(String name) throws FileNotFoundException * ————用這種構(gòu)造方法創(chuàng)建的輸出流輸出字節(jié)時會覆蓋要寫入文件原有的數(shù)據(jù) * public FileOutputStream(File file,boolean append) throws FileNotFoundException * ————用這種構(gòu)造方法創(chuàng)建的輸出流輸出輸出字節(jié)時,若append為true則在要寫入文件最后寫入新輸出的數(shù)據(jù),否則覆蓋 */ FileOutputStream fos=new FileOutputStream("imooc.txt",true); /* * public void write(int b) throws IOException * ————將指定的字符輸出到輸出流中,其中b既可以代表字節(jié),也可以代表字符 */ fos.write(50); fos.write('a');//字符是可以和整型之間相互轉(zhuǎn)換的 fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}字節(jié)輸出流之文件輸出流學(xué)習(xí)代碼三package com.imooc.input_output_stream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class FileOutputStreamDemo3 { public static void main(String[] args) { //文件拷貝,實際上就是字節(jié)數(shù)據(jù)經(jīng)輸入流輸入再經(jīng)輸出流輸出到另一個文件的過程 try { //創(chuàng)建讀取圖片數(shù)據(jù)的輸入流 FileInputStream fis=new FileInputStream("happy.png"); //創(chuàng)建輸出圖片數(shù)據(jù)的輸出流 FileOutputStream fos=new FileOutputStream("happycopy.png"); int n; byte[] b=new byte[2048]; /* * public void write(byte[] b,int off,int len) throws IOException * ————向輸出流中輸出字節(jié)數(shù)組b中off位置開始的長度為len的字節(jié)數(shù)據(jù) */ while((n=fis.read(b))!=-1) { fos.write(b,0,n);//用這種多參數(shù)的write方法可以保證不會寫入多余的數(shù)據(jù) } fis.close(); fos.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}

3、緩沖流 這里寫圖片描述

緩沖流學(xué)習(xí)代碼package com.imooc.input_output_stream;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class BufferDemo { public static void main(String[] args) { try { FileOutputStream fos=new FileOutputStream("imooc.txt"); //創(chuàng)建緩沖輸出流,將文件輸出流和緩沖輸出流連接 /* * public BufferedOutputStream(OutputStream out) * ————創(chuàng)建新的緩沖輸出流,以將數(shù)據(jù)寫入指定的基礎(chǔ)輸出流。 */ BufferedOutputStream bos=new BufferedOutputStream(fos); FileInputStream fis=new FileInputStream("imooc.txt"); //將文件輸入流和緩沖輸入流連接 /* * public BufferedInputStream(InputStream in) * ————創(chuàng)建緩沖輸入流并保存其參數(shù)————基礎(chǔ)輸入流,供以后使用。 */ BufferedInputStream bis=new BufferedInputStream(fis); /* * public void write(int b) throws IOException * ————將指定的字節(jié)寫入此緩沖輸出流,但實際是存儲在緩沖輸出流的內(nèi)部緩沖區(qū)buf中,只有緩沖區(qū)滿了 * 才會自動執(zhí)行寫操作,因此需要手動強(qiáng)制清空內(nèi)部緩存區(qū)執(zhí)行寫操作 * public void flush() throws IOException * ————刷新此緩沖輸出流,這將強(qiáng)制任何緩沖的輸出字節(jié)被寫出到基礎(chǔ)輸出流。只有具有緩沖區(qū)的輸出流才需要使用此方法強(qiáng)制執(zhí)行寫數(shù)據(jù)的操作,但建議在每一個write語句后都加一句flush以防萬一 */ bos.write(50); bos.write('a'); bos.flush(); bos.close();//釋放資源 /* * 緩沖輸入流的read方法與文件輸入流的read方法基本一致 */ System.out.println(bis.read()); System.out.println((char) bis.read()); bis.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}

二、字符流

這里寫圖片描述 字符輸入流和輸出流 這里寫圖片描述 這里寫圖片描述 由于字符流和字節(jié)流方法基本一致,只有處理數(shù)據(jù)的不同,因此不單獨(dú)寫學(xué)習(xí)代碼了,直接拿出字節(jié)字符轉(zhuǎn)換流的代碼。字節(jié)流轉(zhuǎn)換成字符流。

package com.imooc.reader_writer;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class ChangeStreamDemo { public static void main(String[] args) { try { FileInputStream fis=new FileInputStream("imooc.txt"); /* * 將字節(jié)輸入流轉(zhuǎn)換為字符輸入流 * public InputStreamReader(InputStream in) */ InputStreamReader isr=new InputStreamReader(fis); int n; char[] cbuf=new char[10]; /* * public int read() throws IOException * ————從輸入流讀取單個字符,返回讀取的字符數(shù)據(jù)(轉(zhuǎn)換為int類型) * public int read(char[] cbuf) throws IOException * ————從輸入流讀取最多cbuf.length個字符的數(shù)據(jù),存放在字符數(shù)組cbuf中,返回實際讀取的字符數(shù) * public String(char[] value,int offset,int count) * ————從字符數(shù)組value的offset位置開始,創(chuàng)建一個長度為count的字符串 */ /* * 以下注釋代碼為讀取的步驟,由于這個步驟會導(dǎo)致下面的輸出流的例子出錯,因此注釋掉 while((n=isr.read(cbuf))!=-1) { System.out.print(new String(cbuf,0,n));//保證最后一次在未將數(shù)組cbuf存滿的時候也能正確輸出 } */ //字節(jié)輸出流轉(zhuǎn)字符輸出流 FileOutputStream fos=new FileOutputStream("imooc1.txt"); /* * public OutputStreamWriter(OutputStream out) * ————將基礎(chǔ)字節(jié)輸出流轉(zhuǎn)換為字符輸出流 * public void write(char[] cbuf,int off,int len) throws IOException * ————將cbuf字符數(shù)組中第off個位置開始長度為len的字符串輸出到輸出流中 */ OutputStreamWriter osw=new OutputStreamWriter(fos); while((n=isr.read(cbuf))!=-1) { osw.write(cbuf,0,n); osw.flush();/*所有含有緩沖區(qū)的輸出流的write方法都是在輸出流的未滿時不自動執(zhí)行write操作的, 因此需要手動清空強(qiáng)制執(zhí)行write操作才能將輸出流中的數(shù)據(jù)寫入文件,之前學(xué)習(xí)的字節(jié)輸出流中沒有flush是因為 后面加了close();但是實際中最好兩個都加上 */ } fis.close(); fos.close(); isr.close(); osw.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}

三、對象序列化及反序列化 步驟 這里寫圖片描述 用到的類 這里寫圖片描述

對象序列化學(xué)習(xí)代碼之Goods商品類package com.imooc.serial;import java.io.Serializable;/*創(chuàng)建一個實現(xiàn)序列化接口的類*/public class Goods implements Serializable{ private String goodsId; private String goodsName; private double price; public Goods() { } public Goods(String goodsId, String goodsName, double price) { this.goodsId = goodsId; this.goodsName = goodsName; this.price = price; } public String getGoodsId() { return goodsId; } public void setGoodsId(String goodsId) { this.goodsId = goodsId; } public String getGoodsName() { return goodsName; } public void setGoodsName(String goodsName) { this.goodsName = goodsName; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } @Override public String toString() { return "Goods [goodsId=" + goodsId + ", goodsName=" + goodsName + ", price=" + price + "]"; }}對象序列化學(xué)習(xí)代碼之商品測試類package com.imooc.serial;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;public class GoodsTest { public static void main(String[] args) { //定義Goods類對象,將對象寫入文件中,再讀出來判斷是否寫入成功 Goods goods1=new Goods("gd001","電腦",3000); try { /* * public ObjectOutputStream(OutputStream out) throws IOException * ————創(chuàng)建一個對象輸出流以寫入指定的輸出流 * public final void writeObject(Object obj) throws IOException * ————將一個指定的對象寫入對象輸出流 */ //將對象信息寫入文件 FileOutputStream fos=new FileOutputStream("imooc.txt"); ObjectOutputStream oos=new ObjectOutputStream(fos); oos.writeObject(goods1);//將goods1對象寫入文件imooc.txt中 oos.flush(); oos.close(); fos.close(); /* * public final Object readObject() throws IOException,ClassNotFoundException * ————從對象輸入流讀出一個對象 */ //將對象信息從文件讀出來 FileInputStream fis=new FileInputStream("imooc.txt"); ObjectInputStream ois=new ObjectInputStream(fis); Goods goods2=(Goods)ois.readObject();//由于readObject方法返回的是Object類,因此要強(qiáng)制轉(zhuǎn)換 System.out.println(goods2); fis.close(); ois.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } }}

這里寫圖片描述


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产精品jvid在线观看| 国产福利片在线| 在线天堂中文www视软件| 国产视频一二| 国产高清av在线| 亚洲人在线播放| 老师我好爽再深一点的视频| 欧美韩日国产| 国产亚av手机在线观看| 国产欧美在线观看视频| 国产鲁鲁视频在线观看免费| 午夜国产福利在线| 国产成人福利| 蜜桃视频中文字幕| 国产视频中文字幕| 日本在线免费中文字幕| 国产视频1区| 欧美日韩亚洲第一页| 国产成人天天5g影院| 日本啊v在线| 2020中文字幕在线播放| 国产永久免费高清在线观看| 在线国产三级| 国产成免费视频| 午夜国产在线| 亚洲精品自拍区在线观看| 成年网站免费入口在线观看| 国产寡妇树林野战在线播放| 久草电影在线| www在线视频| av超碰在线| 国产高清自拍视频在线观看| 国产美女在线播放| yjizz视频网站在线播放| 国产a级网站| 国产香蕉尹人视频在线| 狠狠操视频网| 另类高清dbsm日本tvav| a视频免费看| 亚洲国产精品区| 国产精品毛片一区二区三区四区| 九色精品视频在线观看| 亚洲午夜久久久久中文字幕| 国产高清视频在线| 国产三区在线观看| 午夜伦全在线观看| 中文字幕人成高视频| 国产在线更新| 国产裸舞福利在线视频合集| 黄色免费av| 国产精品一卡二卡三卡| 中文字幕不卡| 国产精品视频福利一区二区| 中文字幕在线影院| 91欧洲在线视精品在亚洲| 尤物在线视频| 国产黄色在线网站| 在线国产一区二区三区| 日本一卡二卡四卡精品| 交换国产精品视频一区| 国内精品一区视频| 国产亚洲精品久久久久久青梅| 国产香蕉视频在线观看| 91中文字幕网| 啪啪免费视频一区| 五月亚洲综合| 亚洲一道本在线| 黄色激情网址| 精品偷拍激情视频在线观看| 午夜在线视频| 丁香综合在线| av大片在线播放| 黄色av网址在线免费观看| 国产女主播在线观看| 亚洲精品一区中文字幕电影| 国产乱妇乱子| www在线视频观看| 国产偷窥老熟盗摄视频| 在线午夜视频| 国产呻吟对白刺激无套视频在线| av福利在线观看| 高清欧美精品xxxxx在线看| 国产精品人人爱一区二区白浆| 精品视频二区| 国产一级激情| 亚洲电影视频在线| 国产区视频在线观看| а√天堂www在线а√天堂视频 | 国产wwww| 99热在线免费播放| 欧美视频免费一区二区三区| 国产激情视频一区二区| 国产蜜臀在线| 久久久久久77777| 日本调教视频在线观看| 一级二级在线观看| 国产精品你懂的在线观看| 国产麻豆综合视频在线观看| 亚洲欧美日韩成人网| 91午夜在线| 国产www网站| 国产日本在线观看| 国产精品合集一区二区| 天堂中文资源在线| 丁香视频免费观看| 天堂在线亚洲| 国产亚洲精品拍拍拍拍拍| 天堂资源在线中文| 国产香蕉免费精品视频| 国产精品黄页网站在线播放免费| 丁香婷婷在线| 国产一级视频| 国产精品扒开做爽爽爽的视频| 国产在线第一页| 中文字幕中文字幕在线中高清免费版| 福利在线观看| 国产三级视频在线播放线观看| 国产视频在线播放| 依依成人在线| 好看的中文字幕在线播放| 天天操天天射天天插| 国产精品18久久久久久久久久| 18激情网站| 日本国产在线| 国产人成网在线播放va免费| 一级二级三级在线观看| 黄色国产网站在线观看| 国产视频97| www.久草.com| 最新国产在线精品91尤物| 国产福利视频在线| аⅴ成人天堂中文在线| 国产人成高清视频观看| 人人干在线视频| 91社区在线观看| 国产剧情在线一区| 四虎久久影院| 国产黄色免费在线观看| 亚洲jjzzjjzz在线观看| 五月天亚洲激情| 日韩a视频在线观看| 国产精品久久一区二区三区不卡| 国产超碰在线| 久久一本精品| 午夜在线观看91| 精品国产免费观看一区| 国产亚洲精品久久久久久移动网络| 色吊丝av中文字幕| 91www在线观看| 国产精品18久久久久久久久久| 久久精品无码一区二区日韩av | 国产日产精品久久久久久婷婷| 亚洲妇熟xxxx妇色黄| 国产一二区视频| 开心婷婷激情五月| 天海翼中文字幕| 国产黄网站在线观看| 国产精品一区二区三区视频网站 | 国产aa视频| 国产视频在线播放| 最新超碰在线| 国产91大片| 国产精品一区二区婷婷| 精品孕妇一区二区三区| 超碰国产在线| 国内精品不卡| 免费视频二区| 丁香花高清在线观看完整版| 欧美视频免费一区二区三区| 亚洲an天堂an在线观看| 四虎a级欧美在线观看| 99在线视频影院| av丝袜在线| 免费一区二区三区视频狠狠| 欧洲有码在线视频| 91xxx在线观看| 国产亚洲精品久久久网站好莱 | 中文字幕日本在线| 国产精品视频一区麻豆| 中文字幕在线视频不卡| 国产激情网址| 日韩中文字幕久久久经典网| 激情六月丁香| 国产精品99爱免费视频| 亚洲欧美精选| 中文字幕国产视频| 精品176二区| 五月婷婷在线观看| av中文天堂在线| 国产无遮挡在线视频免费观看| 国产日韩欧美第一页| av文字幕在线观看| 高清av在线| 在线视频二区| 激情丁香久久| 日本一二三区视频免费高清| 国产一级黄色片免费| 四虎www视频| 中文字幕2020第一页| 国产精品午夜久久久久久|