outputstreamwriter
需求:读取项目根目录下的inputstreamreaderDemo1.java,并输出到命令行
分析:
数据源: InputStreamReaderDemo1.java
目的地:命令行System.out
public class outputstreamwriterdemo {
public static void main(String[] args) throws IOException {
//创建输出流对象(高效流也称包装流,本身并不具备读写功能,所以需要传入字符输入流FileReader();
BufferedReader br=new BufferedReader(new FileReader("InputStreamReaderDemo1.java"));
//创建输出流对象
outputstream os=System.out;
//读写数据
String line;
while((line=br.readLine())!=null) {
os.write(line.getBytes());
os.write("\r\n".getBytes());
}
//释放资源
os.close();
br.close();
}
}
改进案列:
需求:读取项目根目录下的InputStreamReaderDemo1.java,并输出到命令行
分析:
数据源: InputStreamReaderDemo1.java
目的地:命令行System.out
由于标准输出流是一个字节输出流,所以只能输出字节或者字节数组,但是我们读取的数据是字符串,如果想进行输出还需要转换成字节数组。
* 改进:通过标准输入流输出字符串,把标准输出流转换成一种字符输出流即可 OutputStreamWriter
* 转换流OutputStreamWriter:是字符流通向字节流的桥梁
* 构造方法:OutputStreamWriter(OutputStream out)
public class outputStreamWriterDemo2{
public static void main(String[] args) throws IOException {
//创建输出流对象(高效流也称包装流,本身并不具备读写功能,所以需要传入字符输入流FileReader();
BufferedReader br=new BufferedReader(new FileReader("InputStreamReaderDemo1.java"));
//创建输出流对象
//OutputStream os=System.out;
//OutputStreamWriter osw=new OutputStreamWriter(os);
//Writer osw=new OutputStreamWriter(System.out);//多态
//BufferedWriter bw=new BufferedWriter(osw);
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
//读写数据
String line;
while((line=br.readLine())!=null) {
bw.write(line);
//osw.write("\r\n");//高效输出流功能————可写出一个换行符
bw.newLine();
}
//释放资源
bw.close();
br.close();
}
}
相关阅读
InputStreamReader和OutputStreamWriter 的区别和用法
一、InputStreamReader用于将一个字节流中的字节解码成字符 , 用法如下 @Test public void Test19() throws Exception { Input
一、OutputStreamWriter流 API说明:OutputStreamWriter是从字符流到字节流的桥接:使用指定的字符集将写入其中的字符编码为字