隨筆-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)開始存],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開始的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開始讀
          }

          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 閱讀(208) 評(píng)論(0)  編輯  收藏 所屬分類: java
          <2009年11月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          收藏夾

          other

          文章

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 长海县| 呼玛县| 富宁县| 通江县| 中卫市| 南澳县| 玉门市| 平江县| 元朗区| 临城县| 广丰县| 濮阳市| 德化县| 奉新县| 芜湖市| 汉沽区| 怀安县| 高陵县| 津市市| 洞口县| 长治市| 平罗县| 屯门区| 牙克石市| 临海市| 武安市| 枝江市| 师宗县| 临清市| 保定市| 井冈山市| 江孜县| 宣化县| 莱芜市| 岳普湖县| 奉节县| 共和县| 繁峙县| 凌源市| 余江县| 渑池县|