zoukankan      html  css  js  c++  java
  • Java IO学习笔记七

    System对IO的支持

    • System是系统的类,其中的方法都是在控制台的输入和输出,但是通过重定向也是可以对文件的输入输出
    • System中定义了标准输入、标准输出和错误输出流,定义如下:
    1. static PrintStream err “标准”错误输出流。
    2. static InputStream in “标准”输入流。
    3. static PrintStream out “标准”输出流。
    • 从上面的定义可以知道这里的返回值都是字节的输入和输出流,因此可以使用PrintStream接受这个返回值,然后利用其进行输出,同样的输入也是可以这样做,当然对于OutputStreamInputStream也是可以的,因为PrintStream是继承OutputStream

    System.out

    • System.out是一个标准的输出流,可以使用PrintStreamOutputStream接收返回值,然后使用其进行标准的输出,实例如下
            PrintStream printStream=System.out;  //使用PrintStream
            //OutputStream outputStream=System.out;   //使用OutputStream
                String name="陈加兵";
                int age=22;
                printStream.printf("姓名:%s,年龄:%s",name,age);  //使用格式话的输出
                
    

    其实我还是比较用PrintStream进行格式话的输出的

    • System.out的重定向输出,可以使用这个将指定的内容输出到文件中,实例如下:
        try {
            File file=new File("/tmp"+File.separator+"test"+File.separator+"test.txt");
                System.setOut(new PrintStream(new PrintStream(file)));  //设置重定向的文件
            }catch (IOException e) 
            {
                e.printStackTrace();
            }
            System.out.println("陈加兵的个人博客");//向文件输入内容
    
    

    System.in

    • 这是一个标准输入流,可以使用InputStream来接受返回值,然后利用其进行输入,实例如下:
     byte[] bytes=new byte[1024];
            InputStream inputStream=System.in;   //使用InputStream来接收这个返回值
            try {
                inputStream.read(bytes);  //读取控制台输入的字符串
            }catch (IOException e)
            {
                e.printStackTrace();
            }
            System.out.println(new String(bytes));  //输出
    

    说实话这种控制台输入的方式不太好,还是使用原来的Scanner比较好

    • System.in的重定向
            byte[] bytes = new byte[1024];
            File file = new File("/tmp" + File.separator + "test" + File.separator + "test.txt");
            try {
                System.setIn(new FileInputStream(file));  //设置重定向
                System.in.read(bytes);   //读取文件中字节数据
    
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println(new String(bytes));   //打印出文件中的内容
    
    

    System.err

    • 这是一个标准错误输出流,在IDEA中输出的内容是红色的,和System.out输出的格式一样,只是颜色不一样,因为这里的重定向不太重要也不太常用,这里就不再详细说了,详情请看帮助文档

    System.exit

    • public static void exit(int status)
    • 终止当前的java虚拟机,参数用作状态码;根据惯例,非 0 的状态码表示异常终止,如System.exit(0)

    参考文章

  • 相关阅读:
    业余无线电A类考试准备笔记
    关于互联网技术基层绩效管理的一些思考
    适合产品经理的十本书 From 俞军
    从敏捷开发到微服务,maybe再到中台
    Golang内存模型
    CSS中的那点事儿(一)--- CSS中的单位2
    CSS中的那点事儿(一)--- CSS中的单位1
    design.js
    model.js
    云技术相关的概念
  • 原文地址:https://www.cnblogs.com/Chenjiabing/p/6907124.html
Copyright © 2011-2022 走看看