package cn.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
/**
* 转换流:InputStreamReader OutputStreamWriter
* 1.以字符流的形式操作字节流(纯文本文件)
* 2.指定字符集
* @author Chill Lyn
*
*/
public class TestConvert {
public static void main(String[] args) {
// 操作System in,System.out
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));) {
// 循环获取键盘输入并输出,exit退出
System.out.println("请输入你想说的话,exit退出");
String msg = "";
while (!msg.equals("exit")) {
msg = reader.readLine();
writer.write(msg);
writer.newLine();
writer.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package cn.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.URL;
/**
* 转换流:InputStreamReader OutputStreamWriter
* 1.以字符流的形式操作字节流(纯文本文件)
* 2.指定字符集
* @author Chill Lyn
*
*/
public class TestConvert2 {
public static void main(String[] args) {
// 操作网络流,读取网站源码
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(new URL("http://www.baidu.com").openStream(), "UTF-8"));
BufferedWriter writer = new BufferedWriter(
new OutputStreamWriter(new FileOutputStream("Baidu.html"), "UTF-8"));) {
String msg = "";
while ((msg = reader.readLine()) != null) {
writer.write(msg);
writer.newLine();
}
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
备注
1.常用于获取控制台输入、操作网络流读取源码。
2.装饰流。