javaIO流(打印流--和--序列流)

import java.io.BufferedReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.SequenceInputStream;
import java.io.Serializable;


/*
 * 1.打印流:
 * PrintWriter與PrintStream,可以直接操作輸入流和讀取流對象.
 *  該流提供了打印方法,可以將各種數據類型的數據都原樣打印。
 *  字節打印流:直接操作文件。
 *  PrintStream:它的構造函數可以接收的參數類型:
 *  file對象:File
 *  字符串路徑:String
 *  字節輸出流:OutPutStream
 *  
 *  字符打印流printWriter:
 *  1.file對象:File。
 *  2.字符串路徑:String。
 *  3.字節輸出流:OutputStream。
 *  4.字符輸出流:Write。
 * 2.序列流:
 * SequenceInputStream,可以對多個流進行合併。
 * 3.操作對象:
 * ObjectInputStream和ObjectOutputStream,被操作的對象需要實現Serializable接口。
 * 
 */
public class PrintStreamDemo {
public static void main(String[] args) throws IOException {
//定義讀取流對象,讀取由鍵盤輸入的數據。
BufferedReader buff=new BufferedReader(new InputStreamReader(System.in));
//定義字符打印流對象,接收一個字符輸出流對象。
//接收一個標準輸出流,向控制檯輸出字符。
PrintWriter out=new PrintWriter(System.out);
//PrintWriter out=new PrintWriter(new FileWriter("c:\\b.txt",true));
String line =null;
//接收由鍵盤輸入的字符。
while ((line=buff.readLine())!=null)
{
//將over作爲結束標誌。toUpperCase將小寫字母轉成大寫字母。
if("over".equals(line.toUpperCase()))
break;

//打印字符串,將字符寫入文本中。
out.println(line);
}
out.close();
buff.close();
}

}


//2.序列流:
 //* SequenceInputStream,可以對多個流進行合併。
import java.io.*;
import java.util.Enumeration;
import java.util.Vector;
public class SequenceDemo {
public static void main(String[] args) throws IOException {
//創建一個Vector集合,存取文件字符讀取流FileInputStream.
Vector<FileInputStream> v=new Vector<FileInputStream>();
//添加三個讀取流對象。
v.add(new FileInputStream("c:\\1.txt"));
v.add(new FileInputStream("c:\\2.txt"));
v.add(new FileInputStream("c:\\3.txt"));
//調用elements方法,將所有的讀取流對象存入枚舉類中。
Enumeration<FileInputStream> en=v.elements();
//使用序列流接收枚舉對象。
SequenceInputStream sis=new SequenceInputStream(en);
//定義一個輸入流對象,創建輸入流操作的文本。
FileOutputStream fos=new FileOutputStream("c:\\4.txt");
//定義一個字節數組。
byte[] buf=new byte[1024];
int len=0;
//讀取序列流裏的所有字符。
while((len=sis.read(buf))!=-1)
{
//將字節數組裏的所有字符寫入文本中。
fos.write(buf,0,len);
}
fos.close();
sis.close();
}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章