Java_基础—标准输入输出流概述和输出语句

package com.soar.otherio;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;

public class Demo6_SystemInOut {
    /*
****1.什么是标准输入输出流
    * System.in是InputStream, 标准输入流, 默认可以从键盘输入读取字节数据
    * System.out是PrintStream, 标准输出流, 默认可以向Console中输出字符和字节数据
****2.修改标准输入输出流
    * 修改输入流: System.setIn(InputStream)
    * 修改输出流: System.setOut(PrintStream)
     */
    public static void main(String[] args) throws IOException {
        //inputStream();
        System.setIn(new FileInputStream("a.txt"));     //改变标准输入流
        System.setOut(new PrintStream("b.txt"));    //改变标准输出流

        InputStream is = System.in;             //获取标准的键盘输入流,默认指向键盘,改变后指向文件
        PrintStream ps = System.out;            //获取标准的输出流,默认指向的是控制台,改变后就指向文件

        int b;
        while((b = is.read()) != -1){
            ps.write(b);
        }

        //System.out.println();    //也是一个输出流,不用关,因为没有和硬盘上关联的文件产生管道
        is.close();
        ps.close();
    }

    private static void inputStream() throws IOException {
        InputStream is = System.in;
        int x = is.read();
        System.out.println(x);

        is.close();

        InputStream is2 = System.in;
        int y = is.read();
        System.out.println(y);      //IOException: Stream closed
    }

}
posted @ 2017-07-28 17:15  Soar_Sir  阅读(500)  评论(0编辑  收藏  举报