實(shí)例如下:
import java.io.*;public class TransStreamDemo2 {/*** 流操作的基本規(guī)律 * 1、 * 源,鍵盤錄入 * 目的。控制臺 * 2、 * 需求:想把鍵盤錄入的數(shù)據(jù)存儲到一個文件中。 * 源:鍵盤 * 目的:文件(FileoutputStream可以操作文件) * 3、 * 需求:想把一個文件的數(shù)據(jù)打印到控制臺上 * 源:某個文件 * 目的:控制臺 * * * 流操作的基本規(guī)律 * 最痛苦的是流對象很多不知道用哪個 * * 通過兩個明確來完成 * 1、源和目的。 * 源:輸入流,InputStream Reader * 目的:輸出流 OutputStream Writer * 2、操作的數(shù)據(jù)是否純文本 * 是:字符流 Reader Writer * 否:字節(jié)流 InputStreamReader OutputStreamWriter * 3、當(dāng)體系明確后再明確要使用那個具體的對象 * 通過設(shè)備來具體區(qū)分 * 源設(shè)備:硬盤 內(nèi)存 鍵盤 * 目的設(shè)備:硬盤 內(nèi)存 控制臺 * * * 1、將一個文件中的數(shù)據(jù)存到另一個文件中。即復(fù)制文件 * 源:因為是源所以使用讀取流。InputStream Reader * 是不是操作文本文件:是 選擇 Reader * 這樣體系就明確了 * 接下來明確該體系要使用哪個對象 * 明確設(shè)備:硬盤 上的一個文件 * Reader體系中可以操作文件的對象是 FileReader * * * 目的:OutputStreamWriter 是否純文本 * 是:Writer * 設(shè)備:硬盤一個文件 * Writer體系中可以操作文件的對象是FileReader * * FileReader fr=new FileReader("a.txt"); * 如果提高效率:BufferedReader bufr=new BufferedReader(fr); * * FilrWriter fw=new FileWriter("b.txt"); * 是否提高效率:BufferedWriter fw=new BufferedWriter(fw); * * */public static void main(String[] args) throws IOException{// TODO Auto-generated method stub BufferedReader bufr=new BufferedReader(new InputStreamReader(new FileInputStream("d://wdl.txt")));// BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("d://wdl.txt"))); BufferedWriter bufw=new BufferedWriter(new OutputStreamWriter(System.out)); String line=null; while((line=bufr.readLine())!=null){ if("over".equals(line)) break; bufw.write(line.toUpperCase()); bufw.newLine();// System.out.println(line.toUpperCase()); bufw.flush(); } bufr.close(); bufw.close();}}以上就是小編為大家?guī)淼膉ava編程 中流對象選取規(guī)律詳解全部內(nèi)容了,希望大家多多支持武林網(wǎng)~
新聞熱點(diǎn)
疑難解答
圖片精選