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

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

          ?

          BufferedInputStream

          緩沖輸入流

          BufferedOutputStream

          緩沖輸出流

          ByteArrayInputStream

          從字節(jié)數(shù)組讀取的輸入流

          ByteArrayOutputStream

          從字節(jié)數(shù)組寫入的輸出流

          DataInputStream

          包含讀取 JAVA 標準數(shù)據(jù)類型方法的輸入流

          DataOutputStream

          包含輸入 JAVA 標準數(shù)據(jù)類型方法的輸出流

          FileInputStream

          讀取文件的輸入流

          FileOutputStream

          寫文件的輸出流

          FilterInputStream

          實現(xiàn) InputStream

          FilterOutputStream

          實現(xiàn) OutputStream

          InputStream

          描述輸入流的操象類

          OutputStream

          描述輸出流的操象類

          PipedInputStream

          輸入管道

          PipedOutputStream

          輸出管道

          PrintStream

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

          PushbackInputStream

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

          RandomAccessFile

          支持隨機文件的輸入輸出

          SequenceInputStream

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

          ?

          ?

          ?

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

          ?

          BufferedReader

          緩沖輸入字符流

          BufferedWriter

          緩沖輸出字符流

          CharArrayReader

          從字符數(shù)組中讀取數(shù)據(jù)的輸入流

          CharArrayWriter

          向字符數(shù)組寫數(shù)據(jù)的輸出流

          FileReader

          讀取文件的輸入流

          FileWriter

          寫文件的輸出流

          FilterReader

          過慮讀

          FilterWriter

          過慮寫

          InputStreamReader

          把字節(jié)轉(zhuǎn)換成字符的輸入流

          OutputStreamWriter

          把字符轉(zhuǎn)換成字節(jié)的輸出流

          LineNumberReader

          計數(shù)行數(shù)的輸入流

          PipedReader

          輸入管道

          PipedWriter

          輸出管道

          PushbackReader

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

          Reader

          描述字符輸入流的操象類

          StringReader

          讀取字符串的輸入流

          StringWriter

          寫字符串的輸出流

          Writer

          描述字符流輸出的操象類

          ?

          預定義流

          所有的 JAVA 程序會自動導入 java.lang.* 包。該包定義了一個 System 的類,該類封裝了運行時環(huán)境的多方面,能獲得與當前系統(tǒng)有關的不同屬性。其中包括三個自定義的流變量 ,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 是一個字節(jié)流的輸出,用它來作簡單程序的輸出是可行的, PrintStream 是從 OutputStream 派生出來的,它實了 writer 方法,用來向控制臺輸出一個字符 (char) 。一般不常用 writer ()向控制臺輸出,而用 print() println() 。

          ?

          ?

          PrintWriter

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

          ?

          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 允許字符形式的使用字節(jié)文件流。兩個最常用的類就是 FileInputSteam 、 FileOutputStream 這兩個類,為打開文件,你只需要創(chuàng)建兩個類中其中一個的對象即可。下面是一個例子:

          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 實現(xiàn)從文件輸入內(nèi)容。

          ?

          ?

          ?

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

          評論:
          # re: java輸入與輸出 2012-02-13 14:24 | 問問
          鵝鵝鵝  回復  更多評論
            
          本站不再更新,歡迎光臨 java開發(fā)技術網(wǎng)
          主站蜘蛛池模板: 龙南县| 晴隆县| 庆元县| 大宁县| 湖州市| 长岭县| 松潘县| 濮阳县| 图片| 新巴尔虎右旗| 固始县| 视频| 连城县| 江川县| 离岛区| 繁昌县| 宜阳县| 罗江县| 谢通门县| 交口县| 敖汉旗| 大宁县| 土默特右旗| 鲁甸县| 乐山市| 宁远县| 民权县| 葫芦岛市| 峡江县| 鲜城| 大邑县| 海宁市| 教育| 成武县| 唐山市| 卢氏县| 海原县| 南漳县| 开远市| 尖扎县| 克什克腾旗|