轉換流InputStreamReader和OutputStreamWriter
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
/**
* 功能:將從鍵盤輸入的一行行資料複製到一個檔案中
* @author Administrator
*
*/
public class TestCopy {
public static void main(String[] args) throws IOException {
//建立輸入流和輸出流
//BufferedReader br = new BufferedReader(new FileReader(new File("e:/log.txt")));
Scanner input = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new FileWriter("e:/log3.txt"));
//使用輸入流和輸出流
//String str = br.readLine();
String str = input.nextLine();
while(!"bye".equals(str)){
//寫一行
bw.write(str);//只負責寫,沒有換行
bw.newLine();//新增一個換行符
//再讀一行
str = input.nextLine();
}
//關閉輸入流和輸出流
//br.close();
input.close();
bw.close();
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
/**
*功能:將從鍵盤輸入的一行行資料複製到一個檔案中
*
*
* 轉換流
*
*
* 1.生活案例
* System.in -----------轉換流 ----------- Reader ---------- BufferedReader(readLine())
* 三相插頭 -----------(三相的插座)轉換頭(兩相插頭)----------- 兩相插座
* 介面卡模式(轉換器模式)
*
* 2.Java中提供了哪些轉換流
* InputStreamReader 將InputStream轉換成Reader
* OutputStreamWriter 將 OutputStream轉換成Writer
* ReaderInputStream 沒有
* WriterOutputStream 沒有
* 只有將位元組流轉換成字元流的轉換流
*
* 3.InputStreamReader到底是Reader還是InputStream
* InputStreamReader是Reader的一個子類陳
* Reader reader = new InputStreamReader(is);
public class InputStreamReader extends Reader {
}
* 4.標準輸入輸出裝置
* System.in :鍵盤
* System.out:顯示器
* System.err:顯示器
*
* @author Administrator
*
*/
public class TestCopy2 {
public static void main(String[] args) throws IOException {
//建立輸入流和輸出流
InputStream is = System.in;
Reader reader = new InputStreamReader(is);//!!!!!
BufferedReader br = new BufferedReader(reader);
BufferedWriter bw = new BufferedWriter(new FileWriter("e:/log2.txt"));
//使用輸入流和輸出流
String str = br.readLine();
while(!"bye".equals(str)){
//寫一行
bw.write(str);//只負責寫,沒有換行
bw.newLine();//新增一個換行符
//System.out.println();
//bw.write("\r");
//再讀一行
str = br.readLine();
}
//關閉輸入流和輸出流
br.close();
bw.close();
}
}