<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
    主站蜘蛛池模板: 亚洲国产精品成人精品软件| 亚洲精品国偷自产在线| 亚洲偷自精品三十六区| 亚洲一区免费在线观看| 亚洲精品乱码久久久久久下载| 三年片在线观看免费| 亚洲四虎永久在线播放| 99视频有精品视频免费观看| 亚洲成色999久久网站| 最近2019中文字幕免费大全5| 亚洲视频精品在线| 日本三级2019在线观看免费| 亚洲图片校园春色| 在线jyzzjyzz免费视频| 亚洲日韩在线中文字幕综合| 免费在线观看黄网站| av电影在线免费看| 亚洲免费在线播放| av无码久久久久不卡免费网站| 亚洲AV无码一区二区三区人| 韩国18福利视频免费观看| 一进一出60分钟免费视频| 亚洲韩国精品无码一区二区三区| 最近免费中文字幕MV在线视频3| 亚洲av丰满熟妇在线播放| 青青草a免费线观a| 亚洲丁香婷婷综合久久| 亚洲日本va午夜中文字幕久久| 中文字幕无线码中文字幕免费| 亚洲人成电影福利在线播放| 男女免费观看在线爽爽爽视频| 亚洲日韩中文字幕一区| 亚洲av午夜精品一区二区三区| 国产精品视频全国免费观看| 亚洲黄色在线观看视频| 女性无套免费网站在线看| 免费夜色污私人影院网站| 久久精品亚洲视频| 天天摸夜夜摸成人免费视频| 国产精品偷伦视频免费观看了 | 亚洲高清无码专区视频|