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

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

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

    隨筆-124  評(píng)論-49  文章-56  trackbacks-0

    1 輸入/輸出流
               字節(jié)流      字符流
     輸入流  InputStream    Reader
     輸出流  OutputStream   Writer
    2 字節(jié)流和處理流
    ------------------------------------------------------------------------
    3 InputStream 向程序中輸入數(shù)據(jù)
    InputStream---FileInputStream
    InputStream---StringBufferInputStream
    InputStream---ObjectInputStream
    基本方法
    -讀取一個(gè)字節(jié)并以整數(shù)的形式返回
    -如果返回-1已到輸入流的末尾
    int read() throws IOException
    -讀取一系列字節(jié)并存儲(chǔ)到一個(gè)數(shù)組buffer
    int read(byte[] buffer) throws IOException
    -讀取length個(gè)字節(jié)并存到一個(gè)字節(jié)數(shù)組buffer
    int read(byte[] buffer,int offset[數(shù)組的那個(gè)下標(biāo)開(kāi)始存],int lenght) throws IOException
    -關(guān)閉流
    void close() throws IOException
    -------------------------------------------------------------------------------
    4 outputStream 輸出數(shù)據(jù)
    OutputStream---FileOutputStream
    OutputStream---ObjectOutputStream
    -向輸出流中寫一個(gè)字節(jié)數(shù)據(jù)
    void write(int b)throws IOException
    -將一個(gè)字節(jié)類型的數(shù)組中的數(shù)據(jù)寫入輸出流
    void write(byte[] b)throws IOException
    -將一個(gè)字節(jié)類型的數(shù)組中的從指定位置off開(kāi)始的len個(gè)字節(jié)寫入到輸出流
    void write(byte[] b,int off,int len)throws IOException
    -關(guān)閉流
    void close()throws IOException
    -將輸出流中緩沖的數(shù)據(jù)全部寫出到目的地(重要:先f(wàn)lush再close)
    void flush() throws IOException
    -----------------------------------------------------------------------------------
    5 Reader/Writer
    ---------------------------------------------------
    6 FileInputStream/OutputStream
    long num=0;
    try{
     FileInputStream in=new FileInputStream("d:\\test.txt");
     FileOutputStream out=new FileOutputStream("d:/test1.text");
     while(int b=in.read()!=-1){
      out.write(b);
     }
     in.close();
     out.close();
    }catch(){}
    7 FileReader/FileWriter
      FileReader fr=null;
      FileWriter fw=null;
      int c=0;
      try{
     fr=new FileReader ("d:\\test.java");
     fw=new FileWriter ("d:/test1.java");
     while((c=fr.read)!=-1){
        System.out.print((char)c);
        fw.write(c);
     }
          fr.close();
          fw.close();
      }
     8 緩沖流
     常用構(gòu)造方法
     BufferedReader(Reader in)
     BufferedReader(Reader in,int sz)
     BufferedWreter(Writer out)
     BufferedWreter(Writer out,int sz)
     BufferedInputStream(InputStream in)
     BufferedInputStream(InputStream in,int size)
     BufferedOutputStream(OutputStream out)
     BufferedOutputStream(OutputStream out,int size)
     *BufferedReader提供了readLine方法用于讀取一行字符串
     *BufferedWreter提供了newLine用于寫入一個(gè)行分隔符
     *可以使用flush方法將輸出到緩沖流的數(shù)據(jù)在內(nèi)存中清空立刻寫入硬盤
    try{
        FileInputStream fis=new FileInputStream("d:\\share\\HelloWorld.java");
        BufferedInputStream bis=new BufferedInputStream (fis);
        bis.mark(100);從第100開(kāi)始讀
    }

    try{
         BufferedWriter bw=new BufferedWriter (new FileWriter("d:\\test.txt"));
         BufferedReader br=new BufferedReader(new FileReader("d:\\test.txt"));
         String s=null;
         for(int i=0;i<=100;i++){
     s=String.valueOf(Math.random());
     bw.write(s);
            bw.newLine();//寫一個(gè)換行符
         }
         bw.flush();//清空緩存寫入文件
         while((s=br.readLine())!=null){
     System.out.println(s);
         }
         bw.close();
         br.close();
    }
    9 轉(zhuǎn)換流
      InputStreamReader/OutputStreamWriter
      用于字節(jié)數(shù)據(jù)到字符數(shù)據(jù)之間的轉(zhuǎn)換
      InputStreamReader 需要和 InputStream "套接"
      OutputStreamWriter 需要和 OutputStream "套接"
      InputStream isr=new InputStreamReader(System.in,"ISO8859-1");

    try{
      OutputStreamWriter osw=new OutputStreamWriter (new FileOutputStream("d:\\test.txt"));
      osw.write("ssssssssssssssss");
      osw.close();
      osw=new OutputStreamWriter(new FileOutputStream("d:\\test.txt",true),"ISO8859-1");//true是指在原來(lái)的基礎(chǔ)上添加
      osw.write("ddddddddddddddddddd");
      osw.close();
    }

    InputStreamReader isr=new InputStreamReader(System.in);
    BufferedReader br=new BufferedReader(isr);
    String s=br.readLine();

    10 流據(jù)流,存儲(chǔ)和讀取java原始類型
    DataInputStream(InputStream in)/DataOutputStream(OutputStream out)
    boolean readBoolean()
    double readDouble()
    String readUTF()

    11 PrintStream / PrintWriter
    printStream ps=null;
    try{
       FileOutputStream fos=new FileOutStream("d:\\test.txt");
       ps=new PrintStream(fos);
    }
    if(ps!=null){
       System.setOut(ps);
    }
    int ln=0;
    for(char c=0;c<=60000;c++){
       System.out.print(c+" ");
       if(ln++>=100){
     System.out.println();
     ln=0;
       }
    }

    12 ObjectInputStream/ObjectOutputStream
    對(duì)象讀寫必須序列化,transient關(guān)鍵字表示該必性不被序列化
    class t implements Serializable{
      int i=10;
      transient int j=9;
      double d=2.3;
    }

    T t=new T();
    FileOutputStream fos=new FileOutputStream ();
    ObjectOutputStream oos=new ObjectOutputStream (fos);
    oos.writeObject(t);
    oos.flush();
    oos.close();
    13 Externalizable接口
    方法:
       void readExternal(ObjectInput in)
       void writeExternal(ObjectOutput out)

    posted on 2009-11-29 21:18 junly 閱讀(207) 評(píng)論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 久久久免费精品re6| 亚洲午夜福利在线观看| 免费一级国产生活片| 77777亚洲午夜久久多喷| 18勿入网站免费永久| 78成人精品电影在线播放日韩精品电影一区亚洲 | 国产精品福利在线观看免费不卡| 暖暖免费在线中文日本| 好吊妞视频免费视频| 亚洲国产精品无码专区| 国产精品亚洲专区无码WEB| 国产成人久久AV免费| 久久亚洲AV午夜福利精品一区| 久久成人免费电影| 91天堂素人精品系列全集亚洲| 最近中文字幕国语免费完整| 久久久久亚洲AV无码专区体验| 97在线视频免费| 亚洲愉拍一区二区三区| 国产高清免费在线| 成在人线av无码免费高潮水| 亚洲av一综合av一区| 性短视频在线观看免费不卡流畅| 亚洲无人区一区二区三区| a级成人毛片免费视频高清| 亚洲国产精品一区二区第四页| h视频在线免费观看| 亚洲电影一区二区| 大地资源在线观看免费高清| 久久亚洲精品无码VA大香大香| 日本三级2019在线观看免费| WWW亚洲色大成网络.COM| 亚洲AV永久无码精品成人| 97热久久免费频精品99| 麻豆一区二区三区蜜桃免费| 黄网址在线永久免费观看| 中文日韩亚洲欧美制服| 毛片基地免费观看| 色吊丝性永久免费看码| 亚洲美女在线国产| 91精品免费久久久久久久久|