每个 Java 程序运行时都带有一个系统流,系统流对应的类为 java.lang.System

Sytem 类封装了 Java 程序运行时的 3 个系统流,分别通过 inouterr 变量来引用。这 3 个系统流如下所示:

  • System.in:标准输入流,默认设备是键盘。
  • System.out:标准输出流,默认设备是控制台。
  • System.err:标准错误流,默认设备是控制台。

以上变量的作用域为 public 和 static,因此在程序的任何部分都不需引用 System 对象就可以使用它们。

例 1
下面的程序演示了如何使用 System.in 读取字节数组,使用 System.out 输出字节数组。

import java.io.IOException;public class Test {public static void main(String[] args){byte[] byteData=new byte[100];//声明一个字节数组System.out.println("请输入英文");try {System.in.read(byteData);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}System.out.println("您输入的内容如下:");for(int i=0;i<byteData.length;i++){System.out.print((char)byteData[i]);}}}

运行结果:

请输入英文
you must be a dog
您输入的内容如下:
you must be a dog

System.in 是 InputStream 类的一个对象,因此上述代码的 System.in.read() 方法实际是访问 InputStream 类定义的 read() 方法。该方法可以从键盘读取一个或多个字符。对于 System.out 输出流主要用于将指定内容输出到控制台。

System.out 和 System.error 是 PrintStream 类的对象。因为 PrintStream 是一个从 OutputStream 派生的输出流,所以它还执行低级别的 write() 方法。因此,除了 print() 和 println() 方法可以完成控制台输出以外,System.out 还可以调用 write() 方法实现控制台输出。

write() 方法的简单形式如下:

void write(int byteval) throws IOException

该方法通过 byteval 参数向文件写入指定的字节。在实际操作中,print() 方法和 println() 方法比 write() 方法更常用。

注意:尽管它们通常用于对控制台进行读取和写入字符,但是这些都是字节流。因为预定义流是没有引入字符流的 Java 原始规范的一部分,所以它们不是字符流而是字节流,但是在 Java 中可以将它们打包到基于字符的流中使用。

1.2 Java系统流相关推荐

  1. java io流大全_Java IO流系统整理

    Java IO流的分类 Java中的流,可以从不同的角度进行分类. 按流向分类: 输入流: 程序可以从中读取数据的流. 输出流: 程序能向其中写入数据的流. 按数据传输单位分类: 字节流:以字节(8位 ...

  2. java IO流进阶 模拟上传头像系统详解

    目录 一.前言: 二.思路: PS:直接看代码中的注释也可以. ①分析: ②总结: 三.代码: ①准备工作: ②代码演示: ③运行效果: 四.撒❀: 一.前言: 这篇文章是对之前java IO流基础 ...

  3. Java print流简介

    接下来这篇博文介绍java另1种Stream, print 流.  亦有人称其为打印流. 介绍这个print流之前有必要明确两点: 1. print 流是输出流, 只能用于输出到外部设备不能用于输入. ...

  4. Java学习笔记-7.Java IO流

    一.输入/输出流 1.流:不同类型的输入.输出源    数据流:输入或输出的数据 Java数据流的所有接口和类都是在java.io包中定义的,因此应在程序开头加入 import java.io.* 2 ...

  5. Java IO流 、 Properties 、 枚举

    一.概述 IO流流动的是数据 --- 用于传输数据的API. InputStream\OutputStream   ---   输入输出流 根据流的传输方向分类 :  当数据从外部流入程序时  : 输 ...

  6. java io流 教程_Java基础教程:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:指的是从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列 ...

  7. java系统架构师有的特质_Java中特质模式的定义

    java系统架构师有的特质 在本文中,我将介绍特征的概念,并为您提供一个具体示例,说明如何在Java中使用它们以减少对象设计中的冗余. 我将首先提出一个虚构的案例,其中可以使用特征来减少重复,然后以使 ...

  8. Java基础17:Java IO流总结

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/80201802 这位大侠,这是我的公众号:程序员江湖 ...

  9. java io流的学习总结~~

    java io流的学习总结~~ 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类, ...

最新文章

  1. opencv图像旋转
  2. 涌进体制的技术人:Nature 发文硕士回乡当公务员
  3. C指针原理(35)-Ncurses-文本终端的图形
  4. redis 分布式锁的实现方式
  5. POJ1390 Blocks——动态规划——pku1390
  6. linux 1060显卡,Steam最受欢迎显卡型号出炉:GTX 1060显卡的占有率依然排名第一
  7. PyTorch实战福利从入门到精通之七——卷积神经网络(LeNet)
  8. fastjson反序列化map_最新fastjson反序列化漏洞分析
  9. numpy.argmin 使用
  10. moodle基本配置
  11. mybatis返回map键值对_Mybatis结果生成键值对
  12. 如何成为优秀的管理者?(摘自《代码之道》第9章)
  13. ShadowGun 图形技术分析
  14. html5课件动画制作,ppt如何制作课件动画
  15. ArcGIS——地理配准操作
  16. Android性能优化最佳实践,知乎上转疯了!
  17. Spoon Kettle 输入之获取文件名(Get file names)
  18. android获取ro._Android 简单的设备信息获取
  19. astype函数的使用
  20. 决定计算机运行速度的是哪个配件,计算机的CPU等级决定了计算机的速度. 主要方面是什么?...

热门文章

  1. DL之RNN:人工智能为你写代码——基于TF利用RNN算法实现生成编程语言代码(C++语言)、训练测试过程全记录
  2. webpack自定义loader并发布到npm
  3. js 数组 转为树形结构
  4. 洛谷 P3455BZOJ1101 【[POI2007]ZAP-Queries】
  5. JAVA框架Struts2
  6. Redis与Memcached汇总
  7. linux 安装 redis3.0
  8. 软件工程作业----个人读后感
  9. 本科生怎样发表论文?
  10. STL中各容器和适配器类的定义