java中流的使用
Java中的流,可以從不同的角度進行分類。
一、按照數(shù):輸入流和輸出流。
輸出流:
輸入流:
因此輸入和輸出都是從程序的角度來說的。
二、按照處理數(shù)據(jù)單位不同可以分為:字節(jié)流和字符流。
字節(jié)流和字符流的原理是相同的,只不過處理的單位不同而已,字節(jié)流、字符流,兩類都分為輸入和輸出操作。
以下是java中io中常用的流。
1.在字節(jié)流中輸出數(shù)據(jù)主要是使用OutputStream完成,輸入流使用的是InputStream。
輸出流OutputStream
String a = "d:\\bbb.txt"; File f = new File(a); FileOutputStream b = new FileOutputStream(f,true);//不加true會覆蓋之前的內(nèi)容,加上是在后面寫。 String c = "這是要輸出到文本的內(nèi)容"; byte[] bbb = c.getBytes(); //字符串轉(zhuǎn)類型換為byte[]數(shù)組類型 b.write(bbb); b.close();
輸入流InputStream
String a = "d:\\bbb.txt"; File f = new File(a); FileInputStream b = new FileInputStream(f); byte[] bbb = new byte[(int)(f.length())];//長度可以直接取文件字節(jié)長度 b.read(bbb); b.close(); String str = new String(bbb);//轉(zhuǎn)換成字符串 System.out.println(str);
2.在字符流中輸出主要是使用Writer類完成,輸入流主要使用Reader類完成。(這四個都是抽象類)。
輸出流Writer
String a = "d://bbb.txt"; File f = new File(a); FileWriter c = new FileWriter(f,true);//不加true會覆蓋之前內(nèi)容,加上后會在后面寫 c.write("這是要輸入的內(nèi)容");//可以直接用字符串,不用轉(zhuǎn)換(寫文本類型推薦使用) c.close();
輸入流Reader
String aa ="d:\\bbb.txt"; File bb =new File(aa); FileReader cc = new FileReader(bb); char[] dd = new char[100];//長度不好取(不建議用) cc.read(dd); cc.close(); String str = new String(dd);//轉(zhuǎn)換為字符串 System.out.println(str)
既然Reader去長度不好用,我們還可以用Scanner(推薦)
String a = "d:\\bbb.txt"; File b = new File(a); Scanner sc = new Scanner(b); //Scanner每次只能取一行,所以全部取出要用while循環(huán) while(sc.hasNext()){ //當還有下個值的時候循環(huán) System.out.println(sc.nextLine()); } sc.close();
Scanner這樣取出來結(jié)果是一樣的
三、緩存流(處理流)。
http://www.dbjr.com.cn/article/102935.htm
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟
這篇文章主要介紹了SpringBoot配置MongoDB多數(shù)據(jù)源的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-10-10springboot+springsecurity+mybatis+JWT+Redis?實現(xiàn)前后端離實戰(zhàn)教程
這篇文章主要介紹了springboot+springsecurity+mybatis+JWT+Redis?實現(xiàn)前后端離實戰(zhàn)教程,需要的朋友可以參考下2024-01-01java基礎(chǔ)之 “==”與“equals”區(qū)別詳解
這篇文章主要介紹了java基礎(chǔ)之 “==”與“equals”區(qū)別詳解,需要的朋友可以參考下2020-02-02詳解Java MyBatis 插入數(shù)據(jù)庫返回主鍵
這篇文章主要介紹了詳解Java MyBatis 插入數(shù)據(jù)庫返回主鍵,有興趣的可以了解一下。2017-01-01SpringBoot中干掉Whitelabel Error Page返回自定義內(nèi)容的實現(xiàn)
這篇文章主要介紹了SpringBoot中干掉Whitelabel Error Page返回自定義內(nèi)容的實現(xiàn)方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01Java之String、StringBuffer、StringBuilder的區(qū)別分析
今天搞安卓在看書的時候遇到了StringBuilder這個類型的東東,有點小迷,不知道它跟string、stringbuffer的關(guān)系式怎么樣的,趕快查閱相關(guān)資料,了解了個大概,拿出來分享一下2012-11-11java開發(fā)RocketMQ消息中間件原理基礎(chǔ)詳解
最近 RocketMQ 剛剛上生產(chǎn)環(huán)境,閑暇之時在這里做一些分享,主要目的是讓初學者能快速上手RocketMQ,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11