<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

    主站蜘蛛池模板: 人妻巨大乳hd免费看| 亚洲GV天堂GV无码男同| 成av免费大片黄在线观看| 国产精品jizz在线观看免费| 亚洲人成77777在线播放网站不卡| 99re免费视频| 亚洲精品中文字幕无乱码| 无码AV片在线观看免费| 4480yy私人影院亚洲| 国产成人免费在线| 久久精品国产亚洲av麻豆蜜芽| 四虎在线成人免费网站| 亚洲一级大黄大色毛片| 曰批全过程免费视频在线观看| 亚洲精品国产精品国自产网站| 性做久久久久久久免费看| 中文字幕乱码亚洲无线三区 | 亚洲AV无码一区二区三区牲色 | 无码色偷偷亚洲国内自拍| 免费看美女让人桶尿口| 国产精品亚洲小说专区| 亚洲国产精品毛片av不卡在线| xvideos永久免费入口| 久久精品国产亚洲AV网站| 免费在线视频你懂的| 亚洲av最新在线观看网址| 亚洲精品456播放| 精品亚洲永久免费精品| 亚洲妇女水蜜桃av网网站| 午夜神器成在线人成在线人免费| 日本一区二区在线免费观看 | 色婷婷亚洲十月十月色天| 桃子视频在线观看高清免费完整 | 最新亚洲春色Av无码专区| 亚洲精品高清一二区久久| 免费人妻无码不卡中文字幕系 | 一级毛片免费播放男男| 91嫩草私人成人亚洲影院| 日韩午夜免费视频| 毛片在线全部免费观看| 亚洲熟妇AV日韩熟妇在线|