Java IO学习笔记七

System对IO的支持

  • System是系统的类,其中的方法都是在控制台的输入和输出,可是经过重定向也是能够对文件的输入输出html

  • System中定义了标准输入、标准输出和错误输出流,定义以下:java

  1. static PrintStream err “标准”错误输出流。api

  2. static InputStream in “标准”输入流。.net

  3. static PrintStream out “标准”输出流。code

  • 从上面的定义能够知道这里的返回值都是字节的输入和输出流,所以可使用PrintStream接受这个返回值,而后利用其进行输出,一样的输入也是能够这样作,固然对于OutputStreamInputStream也是能够的,由于PrintStream是继承OutputStreamhtm

System.out

  • System.out是一个标准的输出流,可使用PrintStreamOutputStream接收返回值,而后使用其进行标准的输出,实例以下blog

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)

参考文章

相关文章
相关标签/搜索