日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令...

發布時間:2025/3/19 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在上一節中,我們使用FileInputStream類和FileOutputStream類來實現了一個可以自由拷貝文件的功能。為了提高效率,我們人為地定義一個緩沖區byte[] 數組。其實,我們可以使用BufferedInputStream類和BufferedOutputStream類來重寫這個功能。


5、BufferedInputStream、BufferedOutputStream

看到Buffererd這個詞,我們或許可以猜到,這兩個類應該是帶有緩沖區的流類。正如我們所想的那樣,它們確實有一個buf數據成員,是一個字符數組,默認大小為2048字節。當我們在讀取數據時,BufferedInputStream會盡量將buf填滿;使用read()方法讀取數據時,實際上是先從buf中讀取數據,而不是直接從數據來源(如硬盤)上讀取。只有當buf中的數據不足時,BufferedInputStream才會調用InputStream的read()方法從指定數據源中讀取。

BufferedOutputStream的數據成員buf是一個512字節的字節數組,當我們調用write()方法寫入數據時,實際上是先向buf中寫入,當buf滿后才會將數據寫入至指定設備(如硬盤)。我們也可以手動地調用flush()函數來刷新緩沖區,強制將數據從內存中寫出

下面用這兩個類實現文件復制功能:

package cls;import java.io.*;public class BufferedStreamDemo {public static void main(String[] args) throws Exception{// 從命令行參數中指定文件File fSource = new File(args[0]);File fDest = new File(args[1]);// 創建帶緩沖的流對象BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fSource));BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(fDest));// 提示信息System.out.println("copy " + fSource.length() + "bytes");byte[] buf = new byte[1];while(bis.read(buf) != -1) // read()返回int類型,返回-1表示已到文件結尾bos.write(buf); // 寫入數據// 刷新緩沖區bos.flush();// 關閉流bos.close();bis.close();// 提示信息System.out.println("copy " + fDest.length() + "bytes finished");} }

6、DataInputStream和DataOutputStream

DataInputStream和DataOutputStream類提供了對Java基本數據類型寫入的方法,如int,double,boolean。因為Java中基本數據類型的大小是固定的,不會因為不同的機器而改變,因此在寫入的時候就不必擔心不同平臺數據大小不同的問題。

有一個writeUTF()方法值得我們注意。這個方法會將指定的String對象中的字符寫入,但在寫入的數據之前會首先寫入2個字節的長度數據,這個數據指示了帶寫入的字符的大小。這樣的好處是當我們在使用readUTF()讀取數據的時候就不必考慮數據大小的問題了,直接讀取就行,因為在readUTF()內部會控制好讀取數據的長度。

package cls;import java.io.*;class Student {String name;int score;// 構造方法public Student(String name,int score){this.name = name;this.score = score;}// 返回名字public String getName(){return name;}// 返回分數public int getScore(){return score;} }public class DataStreamDemo {public static void main(String[] args) throws Exception{// 創建3個Student對象Student[] sd = new Student[]{new Student("dog",100),new Student("pig",200),new Student("cat",300)};// 創建輸出流對象DataOutputStream dos = new DataOutputStream(new FileOutputStream(args[0])); //向文件中寫入// 使用增強for循環寫入數據for(Student st : sd){dos.writeUTF(st.getName()); // 寫入Stringdos.writeInt(st.getScore());}dos.flush(); // 刷新緩沖區dos.close(); // 關閉流// 從文件中讀入數據DataInputStream dis = new DataInputStream(new FileInputStream(args[0]));for(int i = 0 ; i < 3 ; ++i){System.out.println(dis.readUTF()); // 取入String字符串,不必擔心長度的問題System.out.println(dis.readInt());}dis.close();} }

轉載于:https://www.cnblogs.com/whongfei/archive/2013/03/30/5246989.html

總結

以上是生活随笔為你收集整理的Java的IO操作(二) - 带缓冲区的流对象、写入基本数据类型、实现命令行中的copy命令...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美一区二区在线视频观看 | 国产精品久久久 | 肥熟女一区二区三肥熟女 | 色婷婷av一区二区三区大白胸 | 色香色香欲天天天影视综合网 | 亚洲AV无码国产成人久久 | 在线小视频你懂的 | 91日批视频 | 在线观看国产黄色 | 中文在线永久免费观看 | 久久久久久亚洲av毛片大全 | 日本午夜电影网站 | 五月婷婷丁香花 | av在线网页 | 国产福利一区二区三区视频 | 天天操你 | 国产成人精品久久久 | 黄色一级一片免费播放 | 国产麻豆91视频 | 在线看的av网站 | 亚洲四区 | 亚洲欧洲日本一区二区三区 | 国产人妻一区二区三区四区五区六 | 国产任你操| 草草地址线路①屁屁影院成人 | 国模私拍一区二区三区 | 91视频a| 日韩欧美一区二 | 日韩人妻无码精品久久久不卡 | www一区| 无码一区二区三区免费 | 欧亚在线视频 | 亚洲精品成人无码熟妇在线 | 亚洲狠| 欧美人与zoxxxx另类 | 99综合久久 | 激情片网站 | 亚洲一区精品视频在线观看 | 夜夜看av | 色综合久久五月 | 国产无精乱码一区二区三区 | 一级做a爱片 | 五月开心网 | 全部毛片永久免费看 | 日本少妇与黑人 | 国产麻豆久久 | 精品国产亚洲av麻豆 | 亚洲无吗一区二区三区 | 69av片| 美丽的姑娘在线观看免费 | 干骚视频| 天堂中文av在线 | 伊人久久五月天 | 精品一区久久久 | 国产精品高潮呻吟久久久 | 一级片免费播放 | 日本成人一区二区 | 国产片黄色 | 亚洲精品一区二区三区在线 | 色视频网址 | 91呦呦 | 欧美一级日韩一级 | 日韩亚洲国产欧美 | 人妻洗澡被强公日日澡电影 | 探花视频在线版播放免费观看 | 人人艹视频| 暖暖av在线 | 特种兵之深入敌后高清全集免费观看 | 国产稀缺精品盗摄盗拍 | www黄色av | 国产又爽又黄又嫩又猛又粗 | 美人被强行糟蹋np各种play | 国产51视频 | 久久成人在线观看 | 老司机深夜福利影院 | 黄色片链接 | 99久久精品国产成人一区二区 | 日韩毛片中文字幕 | 97青青草 | 亚洲视频精选 | 国产传媒av在线 | 猎艳山村丰满少妇 | 视频在线观看91 | 日韩a在线观看 | 国产a一区二区三区 | 国产视频观看 | 欧美一区二区三区四区视频 | www.国产一区二区 | 国产精品人八做人人女人a级刘 | 国产精品丝袜一区二区 | 欧美又粗又长又爽做受 | 国产男女啪啪 | 亚洲精品在线影院 | 少妇无码av无码专区在线观看 | av丁香| 风间由美一二三区av片 | 国产91久| 日韩不卡在线播放 | 免费在线看黄色 |