溫馨提示×

溫馨提示×

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

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

java中IO實例應用分析

發(fā)布時間:2022-05-20 10:40:35 來源:億速云 閱讀:130 作者:zzz 欄目:大數(shù)據(jù)

這篇文章主要介紹了java中IO實例應用分析的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇java中IO實例應用分析文章都會有所收獲,下面我們一起來看看吧。

    一、IO概念

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

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

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

    1.什么是輸入

    程序從內存中讀取數(shù)據(jù)叫輸入Input。

    2.什么輸出(Output)

    程序把數(shù)據(jù)寫入到內存中叫輸出Output。

    二、流的分類

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

    • 按數(shù)據(jù)流的流向不同分為:輸入流,輸出流

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

    IO流體系

    java中IO實例應用分析

    1、InputStream(字節(jié)流)

    示例:

     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向內存中讀如文件數(shù)據(jù)。

    2、OutputStream(字節(jié)流)

    示例:

    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();
            }
        }
    }

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

    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(字符流)從文件中讀入數(shù)據(jù)。

    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();
                    }
            }
        }

    說明:使用字符流實現(xiàn)文件復制功能。

    關于“java中IO實例應用分析”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“java中IO實例應用分析”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道。

    向AI問一下細節(jié)

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

    AI