A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于小皓 初级黑马   /  2013-8-11 21:58  /  2944 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. import java.io.FileInputStream;
  2. import java.io.FileNotFoundException;
  3. import java.io.PrintStream;
  4. import java.util.Scanner;

  5. @SuppressWarnings("unused")
  6. public class Demo04_System {

  7.         public static void main(String[] args) throws Exception {
  8.                 demo1();
  9. //                demo2();
  10.         }

  11.         private static void demo2() throws FileNotFoundException {
  12.                 System.setOut(new PrintStream("System.txt"));                // 标准输出流, 默认指向屏幕
  13.                 System.out.println("Hello world!");
  14.         }

  15.         private static void demo1() throws FileNotFoundException {
  16.                 System.setIn(new FileInputStream("System.txt"));        // 标准输入流, 默认指向键盘
  17.                 Scanner scanner = new Scanner(System.in);
  18.                 System.out.println(scanner.nextLine());
  19.                 scanner.close();
  20.         }

  21. }
复制代码
如题 ,老师将这块的时候我瞌睡了   FileInputStream 和FileOutputStream我都知道  但是那个  System.setOut和System.setIn到底是干什么的  也是输出流和输出流?

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 哥们,你睡得真是时候

查看全部评分

5 个回复

倒序浏览
应该是用来设置输入流或是流出流的来源,以输入流举例,一个输入流可以来源于一个文件(System.setIn(new  fileInputStream(文件名))可以设置从该文件名中读取,而在楼主举的例子中是把输入流的源头指向了键盘,指流数据是从键盘中获取的,当然输出流可以秀以通过system.setOut()进行相应的设置;(这也是通过自己的学习后简单的了解,不知道对不对){:soso_e100:}                                                                                                                                                                                                                                                                                

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这是用来改变输入输出流的方式,如从那获取、输出到哪。让我们来看下JDK中的解释。
static void setIn(InputStream in) 重新分配“标准”输入流,从那获取到这个字节流流。
static void setOut(PrintStream out) 重新分配“标准”输出流,打印输出流。

而这上面提到的in,out都有解释:
in
public static final InputStream in“标准”输入流。此流已打开并准备提供输入数据。通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。
out
public static final PrintStream out“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。
对于简单独立的 Java 应用程序,编写一行输出数据的典型方式是:System.out.println(data),也就是打印到输出台上。


评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 赞一个!

查看全部评分

回复 使用道具 举报
哥们,以后留意点,将新知识的时候不要瞌睡了
回复 使用道具 举报
有啥不懂得找API。。。{:soso_e120:}
回复 使用道具 举报
http://docs.oracle.com/javase/7/docs/api/  官方解释
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马