本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          JAVA 中定義了兩種輸入輸出流:字符流、字節流。字節流由兩個頂層的操象類, InputStream OutputStream 類構成,每個操象類,都有其具體子類。下表是一些常用的字節流類。

          ?

          BufferedInputStream

          緩沖輸入流

          BufferedOutputStream

          緩沖輸出流

          ByteArrayInputStream

          從字節數組讀取的輸入流

          ByteArrayOutputStream

          從字節數組寫入的輸出流

          DataInputStream

          包含讀取 JAVA 標準數據類型方法的輸入流

          DataOutputStream

          包含輸入 JAVA 標準數據類型方法的輸出流

          FileInputStream

          讀取文件的輸入流

          FileOutputStream

          寫文件的輸出流

          FilterInputStream

          實現 InputStream

          FilterOutputStream

          實現 OutputStream

          InputStream

          描述輸入流的操象類

          OutputStream

          描述輸出流的操象類

          PipedInputStream

          輸入管道

          PipedOutputStream

          輸出管道

          PrintStream

          包含 print() println() 的輸出流

          PushbackInputStream

          支持向輸入流返回一個字節的單字節的 ”unget” 的輸入流

          RandomAccessFile

          支持隨機文件的輸入輸出

          SequenceInputStream

          兩上或兩個以上順序讀取的輸入流

          ?

          ?

          ?

          字符類由兩個類層次結構定義,頂層有兩個操象類, Reader Writer 。這些類處理統一編碼的字符流,包含如下具體子類

          ?

          BufferedReader

          緩沖輸入字符流

          BufferedWriter

          緩沖輸出字符流

          CharArrayReader

          從字符數組中讀取數據的輸入流

          CharArrayWriter

          向字符數組寫數據的輸出流

          FileReader

          讀取文件的輸入流

          FileWriter

          寫文件的輸出流

          FilterReader

          過慮讀

          FilterWriter

          過慮寫

          InputStreamReader

          把字節轉換成字符的輸入流

          OutputStreamWriter

          把字符轉換成字節的輸出流

          LineNumberReader

          計數行數的輸入流

          PipedReader

          輸入管道

          PipedWriter

          輸出管道

          PushbackReader

          允許字符返回到輸入流的輸入類

          Reader

          描述字符輸入流的操象類

          StringReader

          讀取字符串的輸入流

          StringWriter

          寫字符串的輸出流

          Writer

          描述字符流輸出的操象類

          ?

          預定義流

          所有的 JAVA 程序會自動導入 java.lang.* 包。該包定義了一個 System 的類,該類封裝了運行時環境的多方面,能獲得與當前系統有關的不同屬性。其中包括三個自定義的流變量 ,in,out err System.out 是標準的輸出流, System.in 是標準的輸入流。 System.err 是標準的錯誤流,默認是控制臺。顯然這些流可以重定向任何兼容的輸入、輸出設備。

          ?

          讀取控制臺的輸入

          BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

          ?

          package com.jdk.io;

          ?

          import java.io.*;

          ?

          public class Demo1 {

          ?

          ?????? public static void main(String[] args) throws Exception{

          ????????????? char c;

          ????????????? BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

          ????????????? System.out.println(" 輸入 Q q 退出 ");

          ????????????? do{

          ???????????????????? c=(char)br.read();

          ???????????????????? System.out.println(c);

          ????????????? }while(c!='q');

          ?????? }

          ?

          }

          ?

          這是一個簡單的例子,演示了從控制中輸入字符的例子,還有 read() 方法的使用。 下面的例子演示了 BufferedReader 類的 readline() 方法使用

          package com.jdk.io;

          ?

          import java.io.*;

          ?

          public class Demo1 {

          ?

          ?????? public static void main(String[] args) throws Exception{

          ????????????? String c;

          ????????????? BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

          ????????????? System.out.println(" 輸入 Q q 退出 ");

          ????????????? do{

          ???????????????????? c=br.readLine();

          ???????????????????? System.out.println(c);

          ????????????? }while(!"stop".equals(c));

          ?????? }

          ?

          }

          ?

          向控制臺輸出

          向控制臺輸出通常由 system.out.println() 來完成,它是由 printStream System.out 引用的對象類型)來定義的。心管 System.out 是一個字節流的輸出,用它來作簡單程序的輸出是可行的, PrintStream 是從 OutputStream 派生出來的,它實了 writer 方法,用來向控制臺輸出一個字符 (char) 。一般不常用 writer ()向控制臺輸出,而用 print() println()

          ?

          ?

          PrintWriter

          Printwriter 流是基于字符串的,它支持 Object print println ,對于不同的類型,它會自動調用 toString() 轉換成字符串來輸出。如:

          ?

          package com.jdk.io;

          ?

          import java.io.*;

          ?

          public class Demo2 {

          ?

          ?????? /**

          ?????? ?* @param args

          ?????? ?*/

          ?????? public static void main(String[] args) {

          ????????????? PrintWriter pw=new PrintWriter(System.out,true);

          ????????????? pw.println("this a String");

          ????????????? pw.println(new Integer("333"));

          ?????? }

          ?

          }

          ?

          ?

          文件的讀寫

          java 允許字符形式的使用字節文件流。兩個最常用的類就是 FileInputSteam FileOutputStream 這兩個類,為打開文件,你只需要創建兩個類中其中一個的對象即可。下面是一個例子:

          package com.jdk.io;

          ?

          import java.io.*;

          ?

          public class ShowFile {

          ?

          ?

          ?????? public static void main(String[] args) throws Exception{

          ????????????? int i;

          ????????????? FileInputStream fis=null;

          ????????????? try{

          ???????????????????? fis=new FileInputStream(args[0]);

          ????????????? }catch(Exception e){

          ???????????????????? e.printStackTrace();

          ????????????? }

          ????????????? do{

          ???????????????????? i=fis.read();

          ???????????????????? if(i!=-1){System.out.println((char)i);}

          ????????????? }while(i!=-1);

          ?????? }

          ?

          }

          FileInputStream 實現從文件輸入內容。

          ?

          ?

          ?

          posted on 2006-10-07 20:52 有貓相伴的日子 閱讀(4427) 評論(1)  編輯  收藏 所屬分類: jdk

          評論:
          # re: java輸入與輸出 2012-02-13 14:24 | 問問
          鵝鵝鵝  回復  更多評論
            
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 惠来县| 个旧市| 岑巩县| 碌曲县| 和林格尔县| 原阳县| 游戏| 淳化县| 新兴县| 潜山县| 临清市| 永德县| 青海省| 梁河县| 元氏县| 吕梁市| 龙井市| 上虞市| 佛教| 张家口市| 武强县| 沾益县| 石门县| 奉节县| 德安县| 大丰市| 南充市| 缙云县| 泸西县| 无棣县| 天祝| 萍乡市| 屯昌县| 昌吉市| 资溪县| 临湘市| 大冶市| 武汉市| 沂水县| 会同县| 洛宁县|