中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中IO的原理是什么

發布時間:2021-07-05 18:36:22 來源:億速云 閱讀:154 作者:Leah 欄目:開發技術

本篇文章為大家展示了java中IO的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。


    一、IO概念

    • I/O 即輸入Input/ 輸出Output的縮寫,其實就是計算機調度把各個存儲中(包括內存和外部存儲)的數據寫入寫出

    • java中用“流(stream)”來抽象表示這么一個寫入寫出的功能,封裝成一個“類”,都放在java.io這個包里面。

    • java.io包下提供了各種“流”類和接口,用以獲取不同種類的數據,并 通過標準的方法輸入或輸出數據

    1.什么是輸入

    程序從內存中讀取數據叫輸入Input。

    2.什么輸出(Output)

    程序把數據寫入到內存中叫輸出Output。

    二、流的分類

    • 按操作數據單位不同分為:字節流(8 bit),字符流(16 bit)

    • 按數據流的流向不同分為:輸入流,輸出流

    • 按流的角色的不同分為:節點流,處理流

    IO流體系

    java中IO的原理是什么

    1、InputStream(字節流)

    示例:

     public static void main(String[] args) {
           iprt();
        }
        public static void ipst(){
            InputStream inputStream = null;
            try {
                inputStream = new FileInputStream("C:\\1.txt");
                int i;
                while ( (i = inputStream.read()) != -1){
                    System.out.print((char) i);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                try {
                    if (inputStream != null){
                        inputStream.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    說明:使用InputStream向內存中讀如文件數據。

    2、OutputStream(字節流)

    示例:

    public class ImageCopy {
        public static void main(String[] args) {
            try(
                    InputStream inputStream = new FileInputStream("D:\\KDA.jpg");
                    OutputStream outputStream = new FileOutputStream("E:\\aaa\\KDA.jpg")
             ){
                byte[] bytes = new byte[1024];
                int i;
                while ((i = inputStream.read(bytes)) != -1){
                    outputStream.write(bytes,0,i);
                }
            }  catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    說明:使用輸入流與輸出流結合實現圖片復制的功能。

    3、Reader(字符流)

    示例:

    public static  void iprt(){
            Reader reader = null;
            try {
                reader = new FileReader("C:\\1.txt");
                int i ;
                while ((i =  reader.read()) != -1){
                    System.out.print((char) i);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                    try {
                        if (reader != null) {
                            reader.close();
                        }
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
            }
        }

    說明:使用Reader(字符流)從文件中讀入數據。

    4、Writer(字符流)

    public static  void iprt(){
            Reader reader = null;
            Writer writer = null;
            try {
                reader = new FileReader("C:\\Users\\52425\\Desktop\\1.txt");
                writer = new FileWriter("C:\\2.txt");
                int i ;
                while ((i =  reader.read()) != -1){
                    writer.write(i);
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                    try {
                            writer.close();
                            reader.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
            }
        }

    說明:使用字符流實現文件復制功能。

    三、總結(1+2)

    1. File類及方法的使用

    File是操作文件/目錄的類,可以對文件/目錄進行創建,重命名, 刪除等操作。

    2.IO流的分類

    • 根據數據大小可分為:字節流和字符流

    • 根據流向可分為:輸入流和輸出流

    • 根據功能可分為:節點流和處理流

    3.IO流的四個基本類

    • 字節輸入流:InputStream,它的常用子類是FileInputStream

    • 字節輸出流:OutputStream,它的常用子類是OutputStream

    • 字符輸入流:Reader,它的常用子類是FileReader

    • 字符輸出流:Writer,它的常用子類是FileWriter

    上述內容就是java中IO的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    同心县| 淅川县| 鹰潭市| 攀枝花市| 玉环县| 天等县| 汶上县| 巴林左旗| 宁安市| 景宁| 临颍县| 卓资县| 札达县| 连城县| 那曲县| 辉南县| 西平县| 自贡市| 华蓥市| 楚雄市| 甘泉县| 漾濞| 津南区| 万荣县| 玉环县| 大安市| 江油市| 沅江市| 淮滨县| 怀安县| 汶川县| 大足县| 宁化县| 中阳县| 雷波县| 惠来县| 东阳市| 合阳县| 肥城市| 遵义县| 微博|