Java --IO的總結

1.對於字符流個字節流的區分使用:只要是處理純文本數據,就優先考慮使用字符流【readerh h 和 writer】。 除此以外都使用字節流。數組

2.對於使用字節流的時候,大部分使用 BufferedInputStream 和 BufferedOutputStream 這兩個對象,效率最快。編碼

實例:對象

            bis = new BufferedInputStream(new FileInputStream(pathName));
            bos = new BufferedOutputStream(response.getOutputStream()); //下載的使用的輸出流對象utf-8

            byte[] buff = new byte[1024];
            int len = 0;
            while ((len = bis.read(buff)) !=-1) { //bis對象把讀取的字節存儲到 數組buff中,返回存儲的長度,若是讀取完畢返回 -1
                bos.write(buff, 0, len); //bos對象把buff字節寫入到文件中
            }
            bos.flush();字符串

            bis.close();
            bos.close();get

        

3.對於字符流使用  BufferedWriter 和 BufferedReader it

實例:效率

  BufferedReader br = new BufferedReader(new FileReader(file));
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File("D://3.txt")));
        String str = null;
        while((str= br.readLine()) != null){     //br.readLine()把讀取的數據返回一個String 類型的字符串
            bw.write(str);
            bw.newLine();  //換行
        }
        bw.flush();
        br.close();
        bw.close();file

---------------------------------------------------------------------------下載

進行IO流的選擇步驟

1。明確哪一個是源,哪一個是目的。(源就是從這邊使用輸入流進行讀取,目的就是使用輸出流寫入到這邊)

2。明確操做的是否爲純文本, 若是是純文本就使用字符流,若是不是就使用字節流。

3。是否要提升效率,提升效率 使用對應的 緩衝流對象:【BufferedReader ,  BufferedWriter   BufferedInputStream ,   BufferedOutputStream】

4。是否須要按照指定的編碼表,將數據存到文本: 是的話 須要選擇 InputStreamReader  和 OutputStreamWriter 這兩個對象,  InputStreamReader  和 OutputStreamWriter 是溝通字節流和字符流的對象。 按照必定的編碼方法去讀取或者寫入文本。實例:

         InputStreamReader inr = new InputStreamReader(new FileInputStream(file), "utf-8");         OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file), "utf-8");

相關文章
相關標籤/搜索