JAVA 转换流在java中的应用

// 需求 :读取键盘录入的数据 并输出到项目根目录下的a.txt 文件中
// 数据源 :读取键盘录入的数据 System.in
// 目的地:项目根目录下的a.txt FileWriter
// 转换流 :将字节输入流转换成字符输入流:InputStreamReader
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;

//
public class InputStreamReaderDemo {
   public static void main(String[] args) throws IOException {
      //创建输入流对象
      InputStream is = System.in;
      //创建输出流对象
      FileWriter fw = new FileWriter("a.txt");
      //读写数据
      byte bys[] = new byte[1024];
      int len; //用于存储读取到的字节个数
      while((len = is.read(bys))!=-1)
      {
         fw.write(new String(bys,0,len));
         fw.flush();
      }
      fw.close();
      is.close();
      //释放资源
   }

}
// 需求 :读取键盘录入的数据 并输出到项目根目录下的a.txt 文件中
// 数据源 :读取键盘录入的数据 System.in
// 目的地:项目根目录下的a.txt FileWriter
// 转换流 :将字节输入流转换成字符输入流:InputStreamReader
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;

//
//
public class InputStreamReaderDemo2 {
    public static void main(String[] args) throws IOException {
        //创建输入流对象
        InputStream is = System.in;
        Reader r = new InputStreamReader(is);
        //创建输出流对象
        FileWriter fw = new FileWriter("a.txt");
        //读写数据
        char chs[] = new char[1024];
        int len; //用于存储读取到的字节个数
        while((len = r.read(chs))!=-1)
        {
            fw.write(chs,0,len);
            fw.flush();
        }
        fw.close();
        is.close();
        //释放资源
    }

}

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

/*需求 : 读取项目根目录下的SystemInOutDemo.java 并输出到命令行
 * 数据源:项目根目录下的SystemInOutDemo.java BufferedReader
 * 目的的:命令行
 * 由于标准输出流是一个字节输出流,所以只能输出字节或者字节数组,但是我们读取到的数据对象是字符串,如果想进行输出还需要转换成字节数组
 * 我们如果想通过标准输出流输出字符串,按标准输出流转换成一种字符输出流即可。OutputStreamWriter
  OutputStreamWriter(OutputStream out)  转换流
*/
//


//

public class OutputStreamWriterDemo {
    public static void main(String[] args) throws IOException {
        //创建输入流对象
        BufferedReader br = new BufferedReader(new FileReader("SystemInOutDemo.java "));
        //创建输出流对象
//    OutputStream os = System.out;
//    String line;
//    while((line = br.readLine())!= null)
//    {
//
//       os.write(line.getBytes());
//       os.write("\r\n".getBytes());
//    } 这些事字节输出流
        Writer w = new OutputStreamWriter(System.out); //多态 父类型调用指向子类对象
        //进行数据的读写
        String line;
        while((line = br.readLine()) != null)
        {
            w.write(line);
            w.write("\r\n");
        }
        //释放资源

        w.close();
        br.close();
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值