I/O流

2.1累澡、線程池

????????理解為容器,裝有預(yù)先創(chuàng)建好的線程鞍匾,執(zhí)行任務(wù)交洗。執(zhí)行后歸還給線程池等待下次分配任務(wù)。為了降低程序的開銷:頻繁的創(chuàng)建和銷毀線程對(duì)象橡淑,降低程序的性能构拳。

????????目的:提高線程對(duì)象的復(fù)用性。

????????使用:

????????????//1.創(chuàng)建一個(gè)固定數(shù)量的線程池:

????????????????????ExecutorServicees=Executors.newFixedThreadPool(3);

????????????//第2種:創(chuàng)建一個(gè)線程池對(duì)象:里面有對(duì)應(yīng)的線程對(duì)象

????????????????????ExecutorServicees=Executors.newCachedThreadPool();

?

示例代碼:

????????????//step1:創(chuàng)建一個(gè)線程池對(duì)象:里面存放一些線程

? ? ? ????????????? //第1種:這種線程池中的線程的數(shù)量是固定的:由參數(shù)來指定

? ? ? ????????????????? //t1,t2,t3

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ExecutorService es = Executors.newFixedThreadPool(3);

? ? ? ????????????? //第2種:創(chuàng)建一個(gè)線程池對(duì)象:里面有對(duì)應(yīng)的線程對(duì)象

? ? ? ????????????????????????????? ExecutorServicees=Executors.newCachedThreadPool();


????????????//step2:創(chuàng)建任務(wù),Runnable接口的實(shí)現(xiàn)

? ? ? ????????????? Taskt1=newTask();

? ? ? ????????????? Taskt2=newTask();

? ? ? ? ????????????Taskt3=newTask();

? ? ? ????????????? Taskt4=newTask();

? ? ? ? ????????????Taskt5=newTask();


? ? ? ? ????//step3:提交任務(wù):將任務(wù)提交給線程池,分配線程對(duì)象執(zhí)行任務(wù)對(duì)應(yīng)的run()

? ? ? ????????????? es.submit(t1);//將t1這個(gè)任務(wù)提交給es線程池

? ? ????????????? ? es.submit(t2);//將t1這個(gè)任務(wù)提交給es線程池

? ????????????? ? ? es.submit(t3);//將t1這個(gè)任務(wù)提交給es線程池

????????????? ? ? ? es.submit(t4);//將t1這個(gè)任務(wù)提交給es線程池

? ????????????? ? ? es.submit(t5);//將t1這個(gè)任務(wù)提交給es線程池


2.2隐圾、File文件類

????????文件類File類:java.io包的。


????????File類的構(gòu)造方法:

????????????????File(Stringpathname) ;//C:\Ruby\pro\aa.jpeg

????????????????????????通過將給定的路徑名字符串轉(zhuǎn)換為抽象路徑名來創(chuàng)建新的File實(shí)例掰茶。

????????????????File(Stringparent,Stringchild) ;//parent:C:\Ruby\pro,child:aa.jpeg

????????????????????????從父路徑名字符串和子路徑名字符串創(chuàng)建新的File實(shí)例暇藏。

????????????????File(Fileparent,Stringchild)

????????????????????????從父抽象路徑名和子路徑名字符串創(chuàng)建新的File實(shí)例。


????????新建文件或文件夾

????????????1濒蒋、createNewFile()--->boolean

????????????????通過File類對(duì)象來調(diào)用盐碱,創(chuàng)建該對(duì)象所對(duì)應(yīng)的目錄文件。

????????????????如果返回true沪伙,創(chuàng)建成功瓮顽,否則就是創(chuàng)建失敗。

????????????? ? 如果文件已經(jīng)存在围橡,無法創(chuàng)建成功

? ? ????????????但是如果文件所在的文件夾都沒有暖混,無法創(chuàng)建成功


????????????2、booleanmkdir()

????????????????創(chuàng)建由此抽象路徑名命名的目錄翁授,僅創(chuàng)建一層拣播。

????????????????如果文件夾已經(jīng)存在,那么創(chuàng)建失敗

?

???????????3收擦、booleanmkdirs() ;//厲害

????????????????創(chuàng)建由此抽象路徑名命名的目錄贮配,包括任何必需但不存在的父目錄。


????????????4塞赂、booleanrenameTo(Filedest)

????????????????????重命名由此抽象路徑名表示的文件

????????????????????可以重命名泪勒,還可以剪切


???刪除文件或文件夾

????????1、booleandelete()

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

? ????????????? 如果文件不存在圆存,刪除失敗

? ? ????????????還可以刪除文件夾:但是只能刪除空文件夾,(如果文件夾中有內(nèi)容仇哆,不會(huì)直接刪除的辽剧,是一種保護(hù)機(jī)制)

????????2、voiddeleteOnExit()

????????????????請(qǐng)求在虛擬機(jī)終止時(shí)刪除由此抽象路徑名表示的文件或目錄

????????????????程序要退出了:刪除程序執(zhí)行過程中税产,產(chǎn)生的日志文件怕轿,緩沖文件。辟拷。撞羽。


?常用方法:

????????1、exists();//判斷File類的對(duì)象所表示文件或文件夾衫冻,是否存在

????????2诀紊、booleanisFile()

????????????????測(cè)試此抽象路徑名表示的文件是否為普通文件

????????3、booleanisDirectory()

????????????????測(cè)試此抽象路徑名表示的文件是否為目錄隅俘。

????????4邻奠、booleanisAbsolute()

????????????????測(cè)試這個(gè)抽象路徑名是否是絕對(duì)的笤喳。

????????5、StringgetName()

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

????????6杀狡、StringgetPath()

????????????????將此抽象路徑名轉(zhuǎn)換為路徑名字符串。

????????7贰镣、StringgetAbsolutePath()

????????????????返回此抽象路徑名的絕對(duì)路徑名字符串呜象。

????????8、FilegetAbsoluteFile()

????????????????返回此抽象路徑名的絕對(duì)形式碑隆。

????????9恭陡、StringgetParent()

????????????????返回此抽象路徑名的父null的路徑名字符串,如果此路徑名未命名為父目錄上煤,則返回null休玩。

????????10、FilegetParentFile()

????????????????返回此抽象路徑名的父劫狠,或抽象路徑名null如果此路徑名沒有指定父目錄哥捕。

????????11、longlength()

????????????????返回由此抽象路徑名表示的文件的長(zhǎng)度嘉熊。以字節(jié)為單位遥赚。

????????????????????????bit:位,0,1

????????????????????????byte:字節(jié)阐肤,8個(gè)bit凫佛。

????????????????????????kb:1024個(gè)字節(jié)

????????????????????????mb:

????????12、longlastModified()

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

重要的問題:

????????Filef1=newFile("C:\\Ruby\\pro\\aa.jpg");//創(chuàng)建一個(gè)File類的對(duì)象愧薛,但是該文件對(duì)象所對(duì)應(yīng)的目錄文件,不一定存在衫画。


遍歷文件夾:只針對(duì)目錄來講毫炉,不能對(duì)文件操作,否則返回null削罩。

????????1瞄勾、String[]list()

????????????????????返回一個(gè)字符串?dāng)?shù)組,命名由此抽象路徑名表示的目錄中的文件和目錄弥激。

????????2进陡、File[]listFiles()

????????????????????返回一個(gè)抽象路徑名數(shù)組,表示由該抽象路徑名表示的目錄中的文件微服。

????????3趾疚、File[]listFiles(FileFilterfilter)

????????????????????返回一個(gè)抽象路徑名數(shù)組,表示由此抽象路徑名表示的滿足指定過濾器的目錄中的文件和目錄。

????????????????????自已定義過濾的規(guī)則糙麦,實(shí)現(xiàn)FileFilter接口即可辛孵。

????????????????????接口中:publicbooleanaccept(Filepathname)-->boolean,

? ? ????????????????????原理:將目錄下的所有的子文件和文件夾赡磅,都作為accept()方法的參數(shù)魄缚,一個(gè)一個(gè)的判斷,如果返回true仆邓,就是我們要的。返回false伴鳖,就是不要的节值。

?

2.3、IO流

????????I/O流

????????????????????I:input榜聂,輸入

????????????????????O:output搞疗,輸出

????? ? 流向來分:

? ? ????????????? ? 輸入流:數(shù)據(jù)從外部進(jìn)入到程序中。须肆。

? ????????????? ? ? 輸出流:數(shù)據(jù)從程序中出去匿乃。。豌汇。

????? ? 單位來分:

? ????????? ????? ? 字節(jié)流:以字節(jié)為單位幢炸。? ? 核心:所有類型的文件

? ? ????????????? ? 字符流:以字符為單位【芗——>文本信息

????? ? 功能來分:

? ????????????????? 節(jié)點(diǎn)流:直接結(jié)束數(shù)據(jù)源的流宛徊。

????????????????? ? 處理流:又叫過濾流。套在流上的流逻澳。


IO流的4大基類

????????InputStream字節(jié)輸入流

????????OutputStream字節(jié)輸出流

????????Reader字符輸入流

????????Writer字符輸出流


文件流:

????????FileInputStream:文件字節(jié)輸入流

????????構(gòu)造方法:

????????????FileInputStream(Filefile)

????????????????通過打開與實(shí)際文件的連接創(chuàng)建一個(gè)FileInputStream闸天,該文件由文件系統(tǒng)中的File對(duì)象file命名。

????????????FileInputStream(Stringname)

????????????????通過打開與實(shí)際文件的連接來創(chuàng)建一個(gè)FileInputStream斜做,該文件由文件系統(tǒng)中的路徑名name命名苞氮。



讀取數(shù)據(jù):

????????intread()

????????????從該輸入流讀取一個(gè)字節(jié)的數(shù)據(jù)。

????????????每次讀取一個(gè)字節(jié)的數(shù)據(jù)瓤逼,返回值就是讀到的數(shù)據(jù)本身(int)笼吟,如果到達(dá)末尾,返回值就是-1霸旗。


IO的操作步驟流程:

????????step1:分析需求赞厕,明確數(shù)據(jù)從哪到哪。文件信息

? ? ? ????????? 數(shù)據(jù)的流向:輸入定硝,輸出

? ? ? ????????? 單位:字節(jié)皿桑,字符

? ? ? ? ????????子類流:

????????step2:創(chuàng)建流的對(duì)象:流向,單位,哪個(gè)具體的流

????????step3:操作流

????????? ????? 讀然逦辍:

? ? ? ????????????? 輸入——>read()

? ????????????? 寫出:

? ? ? ????????????? 輸出——>write()

????????step4:關(guān)閉流

? ? ????????????釋放資源:close()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末镀虐,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子沟绪,更是在濱河造成了極大的恐慌刮便,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绽慈,死亡現(xiàn)場(chǎng)離奇詭異恨旱,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)坝疼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門搜贤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钝凶,你說我怎么就攤上這事仪芒。” “怎么了耕陷?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵掂名,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我哟沫,道長(zhǎng)饺蔑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任嗜诀,我火速辦了婚禮膀钠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘裹虫。我一直安慰自己肿嘲,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布筑公。 她就那樣靜靜地躺著雳窟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匣屡。 梳的紋絲不亂的頭發(fā)上封救,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音捣作,去河邊找鬼誉结。 笑死,一個(gè)胖子當(dāng)著我的面吹牛券躁,可吹牛的內(nèi)容都是我干的惩坑。 我是一名探鬼主播掉盅,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼以舒!你這毒婦竟也來了趾痘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤蔓钟,失蹤者是張志新(化名)和其女友劉穎永票,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體滥沫,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡侣集,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了兰绣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片世分。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖狭魂,靈堂內(nèi)的尸體忽然破棺而出罚攀,到底是詐尸還是另有隱情党觅,我是刑警寧澤雌澄,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站杯瞻,受9級(jí)特大地震影響镐牺,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜魁莉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一睬涧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧旗唁,春花似錦畦浓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至屎媳,卻和暖如春夺溢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烛谊。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國(guó)打工风响, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丹禀。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓状勤,卻偏偏與公主長(zhǎng)得像鞋怀,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子荧降,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348