日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

Java IO流之節(jié)點(diǎn)流與字符流的相關(guān)知識(shí)總結(jié)

瀏覽:201日期:2022-08-10 09:18:48
一、File

file是文件和目錄路徑名的抽象表示

1.1 File的用法

用法:

File file = new File('路徑名');//如File file = new File('L:FileTestDemoAAAaaa.txt');

注意:在windows中,路徑名不能使用單個(gè)的,單個(gè)的為轉(zhuǎn)義字符,可以使用,//或/

1.2 File的常用方法

1.boolean createNewFile()

當(dāng)且僅當(dāng)具有此名稱的文件尚不存在時(shí),以原子方式創(chuàng)建由此抽象路徑名命名的新空文件。 注意: 不能創(chuàng)建文件夾,只能創(chuàng)建文件

System.out.println(file.createNewFile()); //true or false表示是否創(chuàng)建成功

2.boolean delete()

刪除此抽象路徑名表示的文件或目錄。

System.out.println(file.delete());

3.boolean exists()

測(cè)試此抽象路徑名表示的文件或目錄是否存在。

if(!file.exists()){ System.out.println('文件不存在,創(chuàng)建'+ file.createNewFile());}

4.String getName()

返回此抽象路徑名表示的文件或目錄的名稱。

System.out.println(file.getName());

5.long lastModified()

返回上次修改此抽象路徑名表示的文件的時(shí)間。

System.out.println(new SimpleDateFormat().format(new Date(file.lastModified())));二、IO流

File 類:

只能操作文件外部的內(nèi)容,無法操作文件內(nèi)部?jī)?nèi)容的讀寫

流:數(shù)據(jù)以先入先出的順序進(jìn)行傳輸,流就是管道,就是用來 傳輸數(shù)據(jù)的

IO 流:java提供了一個(gè)io包,提供了很多類,提供了很多功能能夠?qū)崿F(xiàn)數(shù)據(jù)的讀寫

2.1 流的概念

數(shù)據(jù)源就像水箱,流就像水管中流著的水流,程序就是我們最終的用戶。 流是一個(gè)抽象、動(dòng)態(tài)的概念, 是一連串連續(xù)動(dòng)態(tài)的數(shù)據(jù)集合

2.2 流的分類

按流向可分為輸入流(InputStream和Reader)和輸出流(OutputStream和Writer)

按操作單元可分為字節(jié)流(InputStream 和 OutputStream)和字符流(Reader 和 Writer)

按功能可分為節(jié)點(diǎn)流(可以直接從數(shù)據(jù)源或目的地讀寫數(shù)據(jù))和功能流(是處理流的流。通過對(duì)其他流的處理提高程序的性能)

2.3 IO操作步驟

在進(jìn)行任何操作之前,首先要明確目的(讀還是寫),找準(zhǔn)源頭(讀取),找準(zhǔn)目的地(寫出)

1.建立聯(lián)系 :這一步驟是為了獲取流,如果此時(shí)是文件,則需要將文件抽象到內(nèi)存形成對(duì)象。后期也 可以是其他的數(shù)據(jù)源

2.選擇流:從讀寫、數(shù)據(jù)單元和功能方面考慮。輸入|輸出,字節(jié)|字符,結(jié)點(diǎn)流|處理流。

3.執(zhí)行操作:該讀就讀,該寫就寫。考慮是一次性完成還行需要循環(huán)。

4.釋放資源:程序中打開的文件 IO 資源不屬于內(nèi)存中的資源,垃圾回收無法回收,需要顯示關(guān)閉。

2.4 基本輸入流(InputStream和Reader)

int read() -> 返回值是這一次讀取到的內(nèi)容(一個(gè)字節(jié)的值, 一個(gè)字符的值)

int read(byte[] car) -> 將讀取到的字節(jié)臨時(shí)存儲(chǔ)到car數(shù)組中, 返回實(shí)際讀取到的字節(jié)數(shù)量

int reade(char[] car) -> 將讀取到的字符臨時(shí)存儲(chǔ)到car數(shù)組中, 返回實(shí)際讀取到的字符數(shù)量

無論以何種方式 read(), read([]) 讀取文件, -1,就意味著讀取到文件末尾

字符 -> 只能操作文本,直接讀取到的就是字符

字節(jié) -> 任意數(shù)據(jù), 但是如果操作是字符的話,還需要我們轉(zhuǎn)換(麻煩)

單個(gè)字節(jié)讀取

以InputStream為例,Reader同理

public class IOTest { public static void main(String[] args) throws IOException {//選擇流,建立聯(lián)系InputStream is = new FileInputStream('L:FileTestDemo123.txt');//無論以何種方式 read(), read([]) 讀取文件, -1,就意味著讀取到文件末尾 //則當(dāng)result的值為-1時(shí)結(jié)束int result = -1;while((result = is.read()) != -1){ System.out.println((char)result);}//關(guān)閉is.close(); }}

多個(gè)字節(jié)讀取

public class IOTest { public static void main(String[] args) throws IOException {//選擇流,建立聯(lián)系InputStream is = new FileInputStream('L:FileTestDemo123.txt');//定義運(yùn)輸數(shù)組byte[] car = new byte[1024];int len = -1;//當(dāng)result的值為-1時(shí)結(jié)束while ((len = is.read(car)) != -1){ System.out.println(new String(car,0,len));}//關(guān)閉is.close(); }}2.5 基本輸出流(OutputStream和Writer)

以O(shè)utputStream為例,Writer同理

注意:在關(guān)閉(close)輸出流前需要先清空(flush)緩存區(qū)的數(shù)據(jù)

flush()一般主要用在IO中,即清空緩沖區(qū)數(shù)據(jù),就是說你用讀寫流的時(shí)候,其實(shí)數(shù)據(jù)是先被讀到了內(nèi)存中,然后用數(shù)據(jù)寫到文件中,當(dāng)你數(shù)據(jù)讀完的時(shí)候不代表你的數(shù)據(jù)已經(jīng)寫完了,因?yàn)檫€有一部分有可能會(huì)留在內(nèi)存這個(gè)緩沖區(qū)中。這時(shí)候如果你調(diào)用了 close()方法關(guān)閉了讀寫流,那么這部分?jǐn)?shù)據(jù)就會(huì)丟失,所以應(yīng)該在關(guān)閉讀寫流之前先flush(),先清空數(shù)據(jù)。

單字節(jié)寫入

public class OutputStream01 { public static void main(String[] args) throws IOException {選擇流,建立聯(lián)系OutputStream os = new FileOutputStream('L:FileTestDemoabc.txt',true);//寫入數(shù)據(jù)os.write(’a’);//刷出流os.flush();//關(guān)閉os.close(); }}

多字節(jié)輸入

public class OutputStream02 { public static void main(String[] args) throws IOException {//構(gòu)建輸出流OutputStream os = new FileOutputStream('L:FileTestDemoabc.txt');//需要寫入的數(shù)據(jù)String str = '我好菜啊n' +'就這?n' +'ttt不是吧,阿sir';//轉(zhuǎn)為字節(jié)數(shù)據(jù)存入數(shù)組byte[] arr = str.getBytes();//寫入數(shù)據(jù)os.write(arr);//刷出數(shù)據(jù)os.flush();//關(guān)閉os.close(); }}2.6 輸入輸出聯(lián)合使用

以InputStream和OutputStream為例

public class In_Out { public static void main(String[] args){//提升作用域范圍InputStream is = null;OutputStream os = null;try { //創(chuàng)建輸入流 is = new FileInputStream('L:FileTestDemoaaa.txt'); os = new FileOutputStream('L:FileTestDemoabcbbb.txt'); //創(chuàng)建輸入數(shù)組 byte[] arr = new byte[1024]; int len = -1; while ((len = is.read(arr)) != -1){//write(byte[] b, int off, int len) 將從偏移量 off開始的指定字節(jié)數(shù)組中的 len字節(jié)寫入此輸出流os.write(arr,0,len); } //刷出 os.flush();} catch (FileNotFoundException e) { e.printStackTrace();} catch (IOException e) { e.printStackTrace();}finally { //后打開,先關(guān)閉 //先關(guān)閉輸出流 if(os != null){try { os.close();} catch (IOException e) { e.printStackTrace();} } //再關(guān)閉輸入流 if(is != null){try { is.close();} catch (IOException e) { e.printStackTrace();} }} }}2.7 異常的處理

在使用IO流的時(shí)候會(huì)出現(xiàn)編譯時(shí)異常,可以使用拋出異常抓取異常來處理

拋出異常

public class IOTest {public static void main(String[] args) throws IOException {//建立聯(lián)系可能會(huì)遇到找不到文件位置(FileNotFoundException)異常//這時(shí)候可以拋出(throw)異常InputStream is = new FileInputStream('L:FileTestDemo123.txt'); }}

抓取異常

public class IOTest { public static void main(String[] args){ //通過try...carch...來抓取異常try { InputStream is = new FileInputStream('L:FileTestDemo123.txt');} catch (FileNotFoundException e) { e.printStackTrace();} }}2.8 字節(jié)流與字符流的區(qū)別

字節(jié)流和字符流的區(qū)別:

1.每次讀寫的字節(jié)數(shù)不同;

2.字符流是塊讀寫,字節(jié)流是字節(jié)讀寫;

3.字符流帶有緩存,字節(jié)流沒有。

java流在處理上分為字符流和字節(jié)流。字符流處理的單元為2個(gè)字節(jié)的Unicode字符,分別操作字符、字符數(shù)組或字符串,而字節(jié)流處理單元為1個(gè)字節(jié),操作字節(jié)和字節(jié)數(shù)組。

字符流和字節(jié)流,一個(gè)屬性范圍小,一個(gè)屬性范圍大,字符流只能是字符這一種類型,但是字節(jié)流中可以是字符,可以是二進(jìn)制文件,可以是音頻,可以是各種各樣的類型,只要符合字節(jié)形式存儲(chǔ)的都可以接字節(jié)流,而字符流只能接字符。

到此這篇關(guān)于Java IO流之節(jié)點(diǎn)流與字符流的相關(guān)知識(shí)總結(jié)的文章就介紹到這了,更多相關(guān)Java節(jié)點(diǎn)流與字符流內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
免费成人在线影院| 久久视频精品| 亚洲激情av| 国产一区久久| 亚洲免费成人| 亚洲麻豆一区| 日韩视频1区| 日韩精品成人| 日本不良网站在线观看| 日韩欧美网址| 国产中文一区| 亚洲专区在线| 日韩在线a电影| 偷拍亚洲精品| 蜜桃传媒麻豆第一区在线观看| 久久大逼视频| 欧美日本三区| 久久电影tv| 免费日韩视频| 国产精品免费99久久久| 国产一区三区在线播放| 久久久久国产| 欧美中文字幕| 日韩激情啪啪| 精品午夜av| 日韩电影免费网址| 伊人久久亚洲热| 日韩高清欧美激情| 成人国产精品久久| 另类中文字幕国产精品| 亚洲免费影院| 国产精品日韩精品在线播放| 国产色播av在线| 国产日韩专区| 麻豆91在线播放| 欧美aa国产视频| 日韩激情av在线| 激情中国色综合| 亚洲高清二区| 国产色噜噜噜91在线精品| 国产成人精品三级高清久久91| 亚洲精品中文字幕乱码| 国产欧美二区| 亚洲精品1区| 国产麻豆一区二区三区 | 国产精品久久久久久久免费软件| 激情黄产视频在线免费观看| 亚洲精品一区二区在线播放∴| 水蜜桃久久夜色精品一区| 中文视频一区| 欧美成人a交片免费看| 免费日本视频一区| 国产v日韩v欧美v| 欧美一级网址| 精品亚洲美女网站| 日本不卡视频在线观看| 日韩国产一区| 天堂成人国产精品一区| 色婷婷狠狠五月综合天色拍| 久久亚洲色图| 精品一二三区| 激情五月综合| 国产欧美69| 一级欧洲+日本+国产| 国产精一区二区| 99精品综合| 日韩高清在线观看一区二区| 久久国际精品| 男女男精品视频网| 国产 日韩 欧美 综合 一区| 亚洲天堂av资源在线观看| 国产精品天堂蜜av在线播放| 色婷婷狠狠五月综合天色拍| 青青国产精品| 夜久久久久久| 国产成人精品一区二区三区视频| 欧美日韩国产在线观看网站 | 日韩高清中文字幕一区二区| 日本亚洲欧洲无免费码在线| 亚洲www免费| 国产免费av一区二区三区| 一级欧洲+日本+国产| 日韩国产高清在线| 性欧美长视频| 亚洲一级少妇| 91精品国产自产观看在线| 美女毛片一区二区三区四区| 国产精品第一国产精品| 在线一区免费观看| 99精品在线| 国产精品99一区二区三| 欧美日韩夜夜| 一区在线免费| 日本在线高清| 日韩激情av在线| 婷婷中文字幕一区| 麻豆视频在线观看免费网站黄| 日韩va亚洲va欧美va久久| 亚洲国产成人精品女人| 久久影视三级福利片| 国产精品日本欧美一区二区三区| 日韩欧美1区| 中文字幕在线免费观看视频| 精品一区视频| 美女视频免费精品| 精品日韩一区| 国产精品大片| 日本不卡一二三区黄网| 视频一区在线视频| 亚洲精品国产偷自在线观看| 亚洲天堂久久| 美女亚洲一区| 久久一区二区中文字幕| 蜜桃精品在线| 97精品一区二区| 欧产日产国产精品视频| 国产一区二区三区黄网站| 欧美精品第一区| 国产精品一区2区3区| 国产欧美高清视频在线| 国产精品一在线观看| 国产精品欧美日韩一区| 欧美视频一区| 久久精品福利| 久久夜夜操妹子| 99久久久久国产精品| 亚洲欧洲高清| 国产h片在线观看| 99久久激情| 亚洲欧美日韩国产一区二区| 亚洲男女自偷自拍| 在线观看亚洲精品福利片| 一区二区三区网站| 蜜臀va亚洲va欧美va天堂 | 国产日韩亚洲| 国产亚洲电影| 欧美片第1页| 欧美搞黄网站| 亚洲一区有码| 国产探花一区| 电影91久久久| 亚洲午夜久久久久久尤物| 女同性一区二区三区人了人一| aⅴ色国产欧美| 午夜在线精品| 视频一区欧美精品| 欧美黄色一区二区| 成人久久久久| 日韩精品一二区| 欧美亚洲免费| 日韩在线短视频| 国产一区导航| 欧美亚洲国产日韩| 伊伊综合在线| 久久伦理在线| 中文字幕日本一区| 国产精品入口久久| 午夜av不卡| 亚洲一级在线| 欧美亚洲人成在线| 91精品韩国| 免费观看在线综合色| 麻豆精品蜜桃视频网站| 久久美女性网| 日韩高清三区| 老牛国内精品亚洲成av人片| 日韩中文首页| 蜜臀av一区二区在线免费观看| 91日韩在线| 夜夜嗨av一区二区三区网站四季av| 91九色综合| 亚洲黑丝一区二区| 国产精品一级在线观看| 久久精品国产68国产精品亚洲| 三级在线观看一区二区| 久久久久亚洲精品中文字幕| 亚洲黑丝一区二区| 国产亚洲精品美女久久| 久久亚洲在线| 国产精品久久乐| 精品欧美久久| 国产欧美综合一区二区三区| 国内亚洲精品| 成人在线免费观看网站| 玖玖精品视频| 国产h片在线观看| 亚欧成人精品| 91久久久精品国产| 国产午夜久久av| 久久免费国产| 国产精品麻豆成人av电影艾秋| 国内精品福利| 精品深夜福利视频| 日韩专区欧美专区| 性欧美videohd高精| 青草国产精品| 午夜亚洲福利| 午夜日本精品| 亚洲www免费| 水蜜桃久久夜色精品一区|