zoukankan      html  css  js  c++  java
  • 38.特殊操作流

    1.标准输入流

    public final class System

    • public static final InputStream in“标准”输入流。 
    • 该流已经打开,准备提供输入数据。 通常,该流对应于键盘输入或由主机环境或用户指定的另一个输入源。
    • public static final PrintStream out“标准”输出流。
    • 此流已经打开并准备好接受输出数据。 通常,此流对应于显示输出或由主机环境或用户指定的另一个输出目标。

      对于简单的独立Java应用程序,编写一行输出数据的典型方法是:

       

       System.out.println(data)
      
       public static void main(String[] args) throws IOException {
      // 1.       InputStream inputStream = System.in;
      //        int by;
      //        while ((by=inputStream.read())!=-1){
      //            System.out.println(((char)by));
      //        }
      ////        如何把字节流转化为字符流?用转换流
      // 2.       InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
      ////        使用字符流能不能实现一次读一行数据?可以,但是一次读取一行数据是字符流的特有方法:
      // 3.       BufferedReader bufferedWriter = new BufferedReader(inputStreamReader);
      
      //        上面三步其实可以合成一步:
              BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
              System.out.println("请输入一行字符串:");
              String s = bufferedReader.readLine();//不可以读取换行符
              System.out.println("您输入的内容是:" + s);
              System.out.println("请输入一个整数:");
              int i = Integer.parseInt(bufferedReader.readLine());
              System.out.println("您输入的整数是:" + i);
      //         自己实现键盘录入太麻烦了,于是java封装了一个输入类供我们使用:
              Scanner scanner = new Scanner(System.in);
              String s1 = scanner.nextLine();
      
          }

       

       2.标准输出流

      //public static final PrintStream out“标准”输出流。
              PrintStream out = System.out;
      //        public class PrintStream extends FilterOutputStream
      //System.out本质是一个字节输出流
              out.println("123");
              out.print(1);//必须带参数
              System.out.print(2);
              System.out.println(123);

       3.字节打印流,字符打印流

      //        PrintStream​(String fileName) 使用指定的文件名创建新的打印流
              PrintStream stream = new PrintStream("java_base_learn.txt");//写到项目根目录下面的java_base_learn.txt文件里面
      //        普通字节输出流写数据方法
              stream.write(97);//a
              stream.write(98);//b
      //        特有方法写数据
              stream.println(97);//97
              stream.println(98);//98
              stream.close();

              PrintWriter printWriter = new PrintWriter("java_base_learn2.txt");
              printWriter.write("write第一个字符串");
              printWriter.println("println输出的字符串");
              printWriter.close();
              PrintWriter printWriter1 = new PrintWriter(new FileWriter("java_base_learn3.txt"), true);
              printWriter1.println("自动刷新的构造方法创建的对象创建的字符串");
              printWriter1.close();

      字符打印流改进原来复制文件的方法:

      //        需求:将项目根目录下的java_base_learn3.txt文件内容复制到项目根目录下的java_base_learn4.txt文件
      //        原方法实现:
              BufferedReader bufferedReader = new BufferedReader(new FileReader("java_base_learn3.txt"));
              BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter("java_base_learn4.txt"));
              String line;
              while ((line=bufferedReader.readLine())!=null){
                  bufferedWriter.write(line);
                  bufferedWriter.newLine();
                  bufferedWriter.flush();
              }
              bufferedWriter.close();
              bufferedReader.close();
      //        
      //        改进方法实现:
              BufferedReader bufferedReader = new BufferedReader(new FileReader("java_base_learn3.txt"));
              PrintWriter printwriter = new PrintWriter(new FileWriter("java_base_learn4.txt",true));
              String line;
              while ((line=bufferedReader.readLine())!=null){
                  printwriter.println(line);
              }
              bufferedWriter.close();
              bufferedReader.close();


       
  • 相关阅读:
    经典排序算法之直接选择排序
    经典排序算法之归并排序
    经典排序算法之希尔排序
    MAC自带的SVN进行升级
    磁盘随机读写与顺序读写性能对比
    事务锁与脏读、不可重复读、幻读
    处理vue页面406问题纪要
    url-pattern / 与/* 的区别
    打印 request 请求中的参数
    [转] Slf4j MDC机制
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/13188658.html
Copyright © 2011-2022 走看看