<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    lqxue

    常用鏈接

    統(tǒng)計

    book

    tools

    最新評論

    [收藏]有關(guān)java I/O流的問題

    FileInputStream 和 FileReader(頭ho暈的)
    FileReader 會做編碼轉(zhuǎn)換,F(xiàn)ileInputStream會忠實于原始文件數(shù)據(jù)。任何形式的Reader都會涉及編碼。

    BufferedInputStream和BufferedOutputStream
    BufferedInputStream: 添加了功能,即緩沖輸入和支持 mark 和 reset 方法的能力。創(chuàng)建 BufferedInputStream 時即創(chuàng)建了一個內(nèi)部緩沖區(qū)數(shù)組。讀取或跳過流中的各字節(jié)時,必要時可根據(jù)所包含的輸入流再次填充該內(nèi)部緩沖區(qū),一次填充多個字節(jié)。mark 操作記錄輸入流中的某個點,reset 操作導致在從所包含的輸入流中獲取新的字節(jié)前,再次讀取自最后一次 mark 操作以來所讀取的所有字節(jié)。
    BufferedOutputStream:該類實現(xiàn)緩沖的輸出流。通過設置這種輸出流,應用程序就可以將各個字節(jié)寫入基礎(chǔ)輸出流中,而不必為每次字節(jié)寫入調(diào)用基礎(chǔ)系統(tǒng)。

    BufferedReader和FileReader
    BufferedReader :由Reader類擴展而來,提供通用的緩沖方式文本讀取,而且提供了很實用的readLine,讀取分行文本很適合,BufferedReader是針對Reader的,不直接針對文件,也不是只針對文件讀取。 
    FileReader 是由java.io.InputStreamReade擴展來的,是針對文件讀取的。實際使用時往往用   BufferedReader   bufferedreader   =   new   BufferedReader(new   FileReader("test.conf"));先建立一個文件reader,再用BufferedReader讀。  
    FileInputStream和Reader 
    FileInputStream: 擴展自java.io.InputStream,InputStream提供的是字節(jié)流的讀取,而非文本讀取,這是和Reader類的根本區(qū)別。用 Reader讀取出來的是char數(shù)組或者String   ,使用InputStream讀取出來的是byte數(shù)組。  
    Reader:Reader 類及其子類提供的字符流的讀取char(16位),InputStream及其子類提供字節(jié)流的讀取byte(8位),所以FileReader類是將文 件按字符流的方式讀取,F(xiàn)ileInputStream則按字節(jié)流的方式讀取文件,BufferedReader的作用是提供緩沖, InputStreamReader可以將讀如stream轉(zhuǎn)換成字符流方式(即reader)是reader和stream之間的橋梁

    BufferedInputStream和BufferedOutputStream的一個例子
    import java.io.*;

    public class BufferedStreamDemo...{
        public static void main(String[] args)...{
            try...{
                byte[] data=new byte[1];
               
                File srcFile=new File("BufferedStreamDemo.java");
                File desFile=new File("BufferedStreamDemo.txt");
               
                BufferedInputStream bufferedInputStream=new BufferedInputStream(new FileInputStream(srcFile));
                BufferedOutputStream bufferedOutputStream=new BufferedOutputStream(new FileOutputStream(desFile));
               
                System.out.println("復制文件: "+srcFile.length()+"字節(jié)");
               
                while(bufferedInputStream.read(data)!=-1)...{
                    bufferedOutputStream.write(data);
                }
               
                //將緩沖區(qū)中的數(shù)據(jù)全部寫出
                bufferedOutputStream.flush();
               
                System.out.println("復制完成");
               
                //顯示輸出BufferedStreamDemo.txt文件的內(nèi)容
                bufferedInputStream =new BufferedInputStream(new FileInputStream(new File("BufferedStreamDemo.txt")));
                while(bufferedInputStream.read(data)!=-1)...{
                    String str=new String(data);
                    System.out.print(str);
                }
               
                bufferedInputStream.close();
                bufferedOutputStream.close();           
               
            }catch(ArrayIndexOutOfBoundsException e)...{
                System.out.println("using: java useFileStream src des");
                e.printStackTrace();
            }catch(IOException e)...{
                e.printStackTrace();
            }
        }
    }

    posted on 2008-07-09 17:04 lqx 閱讀(260) 評論(0)  編輯  收藏 所屬分類: java

    主站蜘蛛池模板: 久久亚洲色一区二区三区| 亚洲精品老司机在线观看| 毛片A级毛片免费播放| 免费在线黄色网址| 亚洲色四在线视频观看| 亚洲精品自偷自拍无码| 色播在线永久免费视频网站| 国产福利在线免费| 亚洲级αV无码毛片久久精品| 亚洲国产乱码最新视频| 99视频在线免费| 国产精品亚洲玖玖玖在线观看| 亚洲三级视频在线观看| 你好老叔电影观看免费| 日本亚洲视频在线| 一区二区免费国产在线观看| 成全视频免费高清| 国产精品亚洲lv粉色| 69堂人成无码免费视频果冻传媒| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久免费国产精品| 亚洲不卡无码av中文字幕| 亚洲色丰满少妇高潮18p| 99久久免费观看| 中文日韩亚洲欧美制服| 国产三级电影免费观看| 中文字幕亚洲码在线| 国产高清视频在线免费观看| 亚洲AV乱码久久精品蜜桃| 国产精品免费在线播放| 亚洲色偷偷狠狠综合网| 四虎国产成人永久精品免费| 精品久久久久久亚洲| 免费观看无遮挡www的视频| 亚洲精品mv在线观看| 2019中文字幕在线电影免费 | 亚洲日韩aⅴ在线视频| 老湿机一区午夜精品免费福利| 日本黄色免费观看| 国产自国产自愉自愉免费24区 | 亚洲国产成人精品无码久久久久久综合|