【java学习笔记】Stream流实现文本的读写

  • 按字节操作
    OutputStream
    InputStream
  • 按一般数据操作
    DateOutputStream
    DateInputStream
  • 按文件读写
    Rader/ Writer
package com.company;
import java.io.*;
import java.util.Scanner;

/**
 * @ProjectName FoodMachine
 * @ClassName StrStream
 * @Description //
 * @Email 2992794262@qq.com
 * @Author ASUS
 * @Date 2021/9/12
 **/
public class StrStream {
       /*
        * @Author  Mulan
        * @Description //把字符串a写入文档fileName中
        * @Date  2021/9/12
        * @Param
        * @return
        **/
      public void Writer(String a ,String fileName ){
          //声明了一个文本写的流,BufferedWriter用于缓冲
          // OutputStreamWriter将二进制Stream流转换成Writer写文本的类,
          // FileOutputStream声明了一个写文本的二进制流
         PrintWriter out;
          try {
              out = new PrintWriter(
                       new BufferedWriter(
                               new OutputStreamWriter(
                                       //true表示在文件光标尾部写入字符串
                                       new FileOutputStream(fileName,true)
                               )));
              //写入一个字符串a
              out.write(a);
              //写入一个换行
              out.write("\n");
              //关闭流,释放资源
              out.close();
          }
          catch (FileNotFoundException e) {
              e.printStackTrace();
          }
      }
      /*
       * @Author  Mulan
       * @Description //读出fileName文件中的字符串
       * @Date  2021/9/12
       * @Param
       * @return
       **/
          public void  Reader(String fileName ){
              //声明了一个读文本的流BufferedReader用于文本缓冲
              //InputStreamReader将二进制Stream流转换成Reader读文本的类
              //FileInputStream 声明了一个读文本的二进制流
              try {
                 BufferedReader in = new BufferedReader(
                          new InputStreamReader(
                                  new FileInputStream(fileName )
                          )) ;
                 //声明一个字符串用于存放读入的单个字符
                  String line;
                  //一行一行的读入文字
                while( (line=in.readLine() )!=null){
                      System.out.println(line);
                  }
                //关闭流释放资源
                  in.close();
              }
              catch (IOException e) {
                  e.printStackTrace();
              }
          }
    }


测试类
package com.company;
/**
 * @ProjectName FoodMachine
 * @ClassName Demo005Stream
 * @Description //
 * @Email 2992794262@qq.com
 * @Author ASUS
 * @Date 2021/9/12
 **/
public class Demo005Stream {
    public  static  void  main(String  args[]){
        StrStream s =new StrStream();
        for (int i=0;i<10;i++){
            s.Writer("刚写入的字符串","a.txt");
            s.Writer("啦啦啦","b.txt");
        }
        s.Reader("a.txt");
        s.Reader("b.txt");
    }

}

写的结果在这里插入图片描述

读的结果
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值