亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

IO流的【字節流】

2019-11-10 18:34:19
字體:
來源:轉載
供稿:網友

IO流的【字節流】

一、InputStream中的讀取數據的方法如下:

  1 、int read()

  功能:讀取一個字節的數據,并且返回讀到得數據,如果返回-1,則表示讀到輸入流的末尾。

  2、int read(byte[] b)

  功能:從輸入流中讀取一定量的字節,并將其存儲在字節數組b中,返回實際讀取的字節數,如果返回-1,則表示讀到輸入流的末尾。

  3、int read(byte[] b, int off, int len)

  功能:將數據讀入一個字節數組,同時返回讀取的實際字節數,如果返回-1,則表示讀到輸入流的末尾。off指定在數組b中存放數據的起始偏移位置,len指定讀取的最大字節數。

  4、available()

  功能:返回此輸入流下一個方法調用可以不受阻塞地從此輸入流讀取或跳過的估計字節數。

  5、close()

  功能:關閉輸入流,釋放這個流的相關資源。

二、OutputStream中寫入數據的方法如下:

  1 、int write(int b)

  功能:將b的最低的一個字節寫入此輸入流,其他三個字節丟棄。

  2、int write(byte[] b)

  功能:將指定的字節數組b寫入此輸入流。

  3、int write(byte[] b, int off, int len)

  功能:將指定byte數組中從偏移量off開始的len個字節寫入輸入流。

  4、flush()

  功能:刷新此輸入流并強制寫出所有緩沖的輸出字節數。

  5、close()

  功能:關閉輸出流,釋放這個流的相關資源。

①字節數組輸入流:

     

package com.iotest;import java.io.ByteArrayInputStream;import java.io.IOException;public class ByteArryInputStreamDemo {    public static void main(String[] args) throws IOException {        String str = "abcdefghijk";        byte[] strBuf = str.getBytes();  //字符串轉換成字節數組        ByteArrayInputStream bais = new ByteArrayInputStream(strBuf);        int data = bais.read();          //從字節數組輸入流讀取字節        while(data!=-1){            char upper = Character.toUpperCase((char)data);            System.out.PRint(upper+" ");            data = bais.read();        }        bais.close();    }}

程序運行結果:A B C D E F G H I J K

②字節數組輸出流:

package com.iotest;import java.io.ByteArrayOutputStream;import java.io.IOException;public class ByteArrayOutputStreamDemo {    public static void main(String[] args) throws IOException {        ByteArrayOutputStream baos = new ByteArrayOutputStream();        String s = "welcome to use ByteArrayOutputStreamDemo";        byte[] buf = s.getBytes();          baos.write(buf); //將指定的byte數組寫到字節數組輸出流中        System.out.println(baos.toString());  //將字節數組輸出流內容轉換成字符串輸出        //將字節數組輸出流中的內容復制到字節數組中        byte[] b = baos.toByteArray();        for (int i = 0; i < b.length; i++) {            System.out.print((char)b[i]);        }        baos.close();    }}程序運行結果:welcome to use ByteArrayOutputStreamDemowelcome to use ByteArrayOutputStreamDemo

③文件輸入輸出流的使用

package com.iotest;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;//復制圖片public class FileInputStreamDemo {    public static void main(String[] args) throws IOException {        File file = new File("F://shar//test//logo17.gif");        FileInputStream fis = new FileInputStream(file); //創建一個輸入流        //創建一個輸出流,后面一個參數true表示追加,原有內容不會被清除,默認為false        FileOutputStream fos = new FileOutputStream("F://shar//test//logo18.gif",false);        int ch = 0;        //方式一        /*while((ch=fis.read()) != -1){            fos.write(ch);        }*/        //方式二        /*byte[] b = new byte[1024];        while((ch=fis.read(b)) != -1){            fos.write(b,0,ch);        }*/        //方式三        byte[] b = new byte[fis.available()];        fis.read(b); //首先把fis的內容讀到字節數組b里面        fos.write(b);//再把字節數組b的內容通過輸出流寫到指定文件        //關閉流        fos.close();        fis.close();    }}④管道流的使用:  一個PipedInputStream對象必須和一個PipedOutputStream對象進行連接從而產生一個通信管道。通常一個線程從管道輸出流寫入數據,另一個線程從管道輸入流中讀取數據。當線程A執行管道輸入流的read()方法時,如果暫時沒有數據,這個線程就會被阻塞,只有當線程B想管道輸出流寫了數據后,線程A才會恢復運行。

package com.iotest;import java.io.IOException;import java.io.PipedInputStream;import java.io.PipedOutputStream;/* * 管道流 */class Sender extends Thread{    private PipedOutputStream out = new PipedOutputStream();    public PipedOutputStream getOut() {        return out;    }    @Override    public void run() {        String s = "hello world";        try {            out.write(s.getBytes());            out.close();        } catch (Exception e) {            // TODO: handle exception        }    }}public class Receiver extends Thread{    private PipedInputStream in;    public Receiver(Sender sender) throws IOException {        in = new PipedInputStream(sender.getOut());    }    @Override    public void run() {        try {            int data;            while((data=in.read())!=-1){                System.out.print((char)data);            }            in.close();        } catch (Exception e) {            // TODO: handle exception        }    }    public static void main(String[] args) throws IOException {        Sender sender = new Sender();        Receiver r = new Receiver(sender);        sender.start();        r.start();    }}⑤緩沖流的使用:

package com.iotest;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 TestPrime {    private BufferedInputStream bis = null;    private BufferedOutputStream bos = null;    String fileName = "F://shar//test//test2.txt";    static int s,p;    //判斷是否是質數    public boolean isPrime(int n){        for(int i=2;i<=n/2;i++){            if(n%i == 0){                return false;            }        }        return true;    }    void printPrime(int m) throws IOException{        //將字節流轉緩沖流        bos = new BufferedOutputStream(new FileOutputStream(fileName));        int j = 0;        for (int i = 2; i < m; i++) {            if(isPrime(i)){                j++;                if(j%s == 0){                    String s = String.valueOf(i)+" ";                    bos.write(s.getBytes());                    bos.write("/r/n".getBytes());                }else{                    String s = String.valueOf(i)+" ";                    bos.write(s.getBytes());                }            }        }        bos.flush();        bos.close();    }    void getPrime() throws IOException{        //將字節流轉緩沖流        bis = new BufferedInputStream(new FileInputStream(fileName));        int c = bis.read();        while(c != -1){            char ch = (char)c;            System.out.print(ch);            c = bis.read();        }    }    /**     * @param args     * @throws IOException      */    public static void main(String[] args) throws IOException {        TestPrime t = new TestPrime();        p = 100;        s = 10;        t.printPrime(p);        t.getPrime();    }}

如果不用緩沖流的話,程序是讀一個數據,寫一個數據。這樣在數據量大的程序中非常影響效率。 緩沖流作用是把數據先寫入緩沖區,等緩沖區滿了,再把數據寫到文件里。這樣效率就大大提高了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品久久久| 欧美激情性做爰免费视频| 国产精品福利小视频| 国产精品尤物福利片在线观看| 日韩成人av一区| 亲子乱一区二区三区电影| 国产精品1区2区在线观看| 日韩精品视频在线免费观看| 久久在精品线影院精品国产| 精品视频www| 亚洲国产99精品国自产| 国产成人精品久久二区二区| 久久人人爽人人爽人人片av高请| 日韩高清不卡av| 亚洲国产精品视频在线观看| 日韩电影中文字幕av| 亚洲日本中文字幕免费在线不卡| 欧美国产日产韩国视频| 欧美高清不卡在线| 亚洲第一国产精品| 亚洲国产成人精品久久久国产成人一区| 国产日韩欧美中文在线播放| 欧美成人精品一区二区| 精品久久久久久久久久久久久久| 欧美劲爆第一页| 日韩高清免费观看| 国产99久久久欧美黑人| 亚洲人成网站在线播| 亚洲日本欧美中文幕| 亚洲片在线观看| 亚洲91精品在线观看| 欧美精品aaa| 中文字幕一区电影| 国产97在线|亚洲| 在线视频欧美日韩| 国产一区二区三区三区在线观看| 性色av一区二区三区在线观看| 中文字幕亚洲专区| 亚洲人成电影在线观看天堂色| 亚洲少妇中文在线| 国产成人精品视频在线观看| 国产成人一区二区三区| 久久五月天综合| 亚洲欧美制服另类日韩| 久久久久久久久久久免费| 欧美成人自拍视频| 欧美激情一区二区三区高清视频| 久久777国产线看观看精品| 国产精品视频内| 91高清视频在线免费观看| 久久91亚洲人成电影网站| 亚洲第一精品福利| 久久免费在线观看| 欧美日韩在线视频首页| 日韩av免费在线看| 国产一区二区三区丝袜| 欧美高清在线观看| 亚洲精品一二区| 欧美激情网友自拍| 国产精品久久久999| 亚洲在线视频观看| 欧美肥臀大乳一区二区免费视频| 亚洲精品国产精品自产a区红杏吧| 欧美精品激情视频| 午夜剧场成人观在线视频免费观看| 国产精品久久久久久久app| 热久久99这里有精品| 最近2019中文免费高清视频观看www99| 亚洲精品xxxx| 不卡中文字幕av| 欧美日韩免费在线观看| 91国内免费在线视频| 久久久久久久久久久91| 国产伊人精品在线| 97福利一区二区| 欧美性猛交xxxx久久久| 久久久国产精品一区| 日韩欧美视频一区二区三区| 高清日韩电视剧大全免费播放在线观看| 一道本无吗dⅴd在线播放一区| 欧美一级电影免费在线观看| 国产成人精品视频在线| 美女扒开尿口让男人操亚洲视频网站| 亚洲日本aⅴ片在线观看香蕉| 久久精品精品电影网| 日韩视频中文字幕| 日韩国产精品视频| 欧美自拍大量在线观看| 欧美乱大交做爰xxxⅹ性3| 国产不卡视频在线| 国产精品中文久久久久久久| 国产精品爽黄69天堂a| 欧美日韩精品在线视频| 国产精品第一视频| 日韩高清av一区二区三区| 日韩精品视频在线观看免费| 亚洲电影免费观看| 精品国产一区二区三区四区在线观看| 国产精品久久久久久久久借妻| 欧美亚洲成人精品| 久久精品美女视频网站| 欧美美女操人视频| 成人在线中文字幕| 亚洲另类欧美自拍| 麻豆精品精华液| 91福利视频在线观看| 中文字幕欧美精品日韩中文字幕| 国内免费精品永久在线视频| 欧美另类极品videosbest最新版本| 在线观看欧美视频| 亚洲精品二三区| 国产精品偷伦视频免费观看国产| 国产精品久久久久久久久久东京| 国模精品视频一区二区三区| 92福利视频午夜1000合集在线观看| 国产精品视频白浆免费视频| 国语自产精品视频在线看一大j8| 国产亚洲欧美另类中文| 亚洲免费成人av电影| 91九色国产社区在线观看| 亚洲第一网中文字幕| 疯狂做受xxxx高潮欧美日本| 日韩在线观看精品| 日韩精品在线观看一区| 久久综合色88| 精品偷拍各种wc美女嘘嘘| 2018中文字幕一区二区三区| 久久精品99无色码中文字幕| 中文字幕亚洲激情| 久久精品视频网站| 日本精品性网站在线观看| 日韩电影免费观看在线观看| 成人在线观看视频网站| 一个人www欧美| 成人国产精品久久久| 91豆花精品一区| 正在播放国产一区| 在线观看日韩www视频免费| 久久精品中文字幕电影| 国产一区二区精品丝袜| 欧美性猛交xxxx| 欧美乱大交xxxxx另类电影| 性色av一区二区三区| 欧美激情中文网| 宅男66日本亚洲欧美视频| 色综合天天综合网国产成人网| 疯狂欧美牲乱大交777| 91免费精品国偷自产在线| 自拍偷拍亚洲欧美| 一区二区日韩精品| 亚洲精品免费网站| 亚洲人成免费电影| 日韩美女视频中文字幕| 中文字幕一区日韩电影| 伊人激情综合网| 欧美巨乳美女视频| 91精品国产综合久久久久久蜜臀| 精品偷拍一区二区三区在线看| 国产日韩在线一区| 亚洲精品国产精品国产自| 亚洲已满18点击进入在线看片| 91亚洲永久免费精品| 国产网站欧美日韩免费精品在线观看| 成人免费黄色网|