关闭

Java中的System.in,System.out,System.err

521人阅读 评论(0) 收藏 举报
分类:
大多数操作系统都有三个标准文件描述符:标准输入,标准输出,标准出错。

三个操作系统的文件描述符映射到编程语言的标准库中,往往加了一层包装,但是名字通常还是叫标准输入,标准输出,标准出错。在其它语言中的一般写法是:stdin,stdout,stderr(有的语言里大写,有的语言里小写)。对应Java中的System.in,System.out,System.err。

System.err

public class test 
{
	
	public static void main(String args[])
	{
		int a=1,b=2,c=3;
		for(int i=0;i<100;i++)
		{
			System.err.println(i);
			//System.out.println(i);
		}
		/*System.out.println(a);
		System.err.println(b);
		System.out.println(c);*/
		
	}
}
运行结果


System.out

public class test 
{
	
	public static void main(String args[])
	{
		int a=1,b=2,c=3;
		for(int i=0;i<100;i++)
		{
			//System.err.println(i);
			System.out.println(i);
		}
		/*System.out.println(a);
		System.err.println(b);
		System.out.println(c);*/
		
	}
}

运行结果


在语言层面的实现三个文件描述符都是可以重定向的(只要你想)。但是一般而言,如果你在unix shell或windows command line中使用管道或重定向,则只是针对标准输入和输出。另外,标准输出和标准出错的一个区别是,标准输出往往是带缓存的,而标准出错没有缓存(默认设置,可以改)。所以如果你用标准出错打印出来的东西可以马上显示在屏幕,而标准输出打印出来的东西可能要再积累几个字符才能一起打印出来。如果你在应用中混用标准输出和标准出错就可能看到这个问题。



总的来说,System.out用于正常的输出,也就是程序真正想输出的内容。而System.err用于出错信息的输出,也就是你本来不期待看到的东西。
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

System.in与System.out(标准输入与输出)详解

1.标准输入System.in System.in作为InputStream类的对象实现标准输入,可以调用它的read方法来读取键盘数据。read方法有3种格式: public abstract...
  • redarmy_chen
  • redarmy_chen
  • 2013-10-09 17:21
  • 15433

详细整理Java 从命令控制台输入数据读取输入流System.in的几种常用方法

1.用System.in   首先看jdk的API. System的静态方法in返回的是一个InputStream类型的对象,则我们可以用读取输入流的方式对其进行读取。 按API的说法“此流已打开并...
  • Wallbanger
  • Wallbanger
  • 2013-08-09 09:01
  • 25364

Android开发过程中可能遇到的问题

一、导入项目时,提示 “invalid project description” 无效的项目描述,应该与ADT版本不同有关。 出错背景:外来源码放在工作区,然后导入Eclipse。 ...
  • system_err
  • system_err
  • 2016-08-24 18:57
  • 2568

Java System 类详解 - in, out, err

转自: http://jackycheng2007.iteye.com/blog/1473625 几乎所有的都用过这个System类吧,因为大家学习的第一个语句大概就是  Java...
  • hubert_bubert
  • hubert_bubert
  • 2014-02-13 10:50
  • 481

【转】Java基础:System.out.println与System.err.println的区别

同时使用了System.out.println与System.err.println()打印输入内容,结果看到的内容和预想的不一样,顺序与预料的不同并不是因为err和out的区别导致,而是因为他们是两...
  • u014753393
  • u014753393
  • 2015-10-20 00:21
  • 2149

黑马程序员-IO(System.out、in与Scanner)

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 键盘录入 示例1: publi...
  • dsa63
  • dsa63
  • 2013-10-30 23:51
  • 495

应用System.out和System.err实现进程间通信

Java IO 包有两个主要部分: 字符流(character stream)0~65535,字符流被称为写入器(writer)和读取器(reader) 字节流(byte stream) -127...
  • PerfTest
  • PerfTest
  • 2012-04-28 15:05
  • 1412

System.out 和 System.err 的区别

先看一段代码: public class TestCodeSeg { static { System.out.println("1"); } { ...
  • piaoboyijianke1
  • piaoboyijianke1
  • 2013-04-13 15:12
  • 535

完全分布式或者伪分布式的hadoop中map和reduce的System.out与System.err的输出去哪儿啦?

1.问题提出 我需要
  • thangool
  • thangool
  • 2014-06-19 16:12
  • 610

进程间应用system.out和system.err传递数据

public class FatherProcess { public static void main(String[] args) { int i =0; S...
  • PerfTest
  • PerfTest
  • 2012-04-24 16:24
  • 461
    个人资料
    • 访问:11906次
    • 积分:185
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:2篇
    • 译文:0篇
    • 评论:37条
    文章分类
    最新评论