Standard Input,Output Stream 标准输入输出流

- System.in 系统标准输入流

所属InputStream  Scanner(System.in);

默认从键盘获取输入信息

- System.out 系统标准输出流

所属PrintStream,是OutputStream的子类,FilterOutputStream  System.out.println();

默认从控制台输出信息

- static void setInt(InputStream input) static void setOut(OutputStream output)   重新指定输入和输出的流

使用Scanner实现程序

    static void inputPractice(){
// 使用Scanner实现
Scanner input = new Scanner(System.in);
String text = "null";
while( !(text.equals("e") || text.equals("exit")) ){
System.out.println("请输入字符串");
text = input.nextLine();
System.out.println(text.toUpperCase());
}
     input.close();
}

用System.in实现

    static void inputPractice() throws Exception {
// 使用System.in实现
InputStreamReader inputStreamReader = new InputStreamReader(System.in);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
while( true ){
System.out.println("请输入字符串");
String text = bufferedReader.readLine();
System.out.println(text.toUpperCase());
if ("e".equalsIgnoreCase(text) || "exit".equalsIgnoreCase(text)){
System.out.println("程序结束");
break;
}
}
bufferedReader.close();
}

打印流

PrintStream PrintWriter

- 各种print() 和 println()重载 用于多种数据类型的输出

- PrintStream和PrintWriter 不抛异常,自带flush

- PrintStream打印所有都是以平台默认字符编码转换字节

写入字符非字节的情况使用PrintWriter

- System.out 返回的是PrintStream的实例

向指定文件输出数据

    static void printStream(String srcPath) throws Exception {
OutputStream outputStream = new FileOutputStream( new File(srcPath) );
PrintStream printStream = new PrintStream(outputStream,true);
if ( printStream != null) System.setOut(printStream); for (int i = 0; i < 255; i++) {
System.out.print((char)i + "\t");
if ((i + 1) % 10 == 0) System.out.println();
}
printStream.close();
}

数据流

DataInputStream

DataOutputStream

写入数据和读取数据

    static void printData() throws Exception {
DataOutputStream dataOutputStream = new DataOutputStream(new FileOutputStream(new File("sample.txt"))); dataOutputStream.writeUTF("阿伟输了!!!");
dataOutputStream.flush(); dataOutputStream.writeInt(1001);
dataOutputStream.flush(); dataOutputStream.writeBoolean(true);
dataOutputStream.flush(); dataOutputStream.close();
} static void readData() throws Exception {
DataInputStream dataInputStream = new DataInputStream(new FileInputStream(new File("sample.txt")));
// 读取数据顺序,要按写入顺序保持一致
String str = dataInputStream.readUTF();
int i = dataInputStream.readInt();
boolean b = dataInputStream.readBoolean(); System.out.println(str);
System.out.println(i);
System.out.println(b); dataInputStream.close();
}

【Java】Input,Output,Stream I/O流 03 系统标准流 & 打印流的更多相关文章

  1. BIOS(Basic Input/Output System)是基本输入输出系统的简称

    BIOS(Basic Input/Output System)是基本输入输出系统的简称 介绍 操作系统老师说,平时面试学生或者毕业答辩的时候他都会问这个问题,可见这个问题对于计算机专业的学生来说是如此 ...

  2. Java自学第10期——File类与IO流(输入输出流、处理流、转换流、缓冲流、Properties集合、打印流)

    1.IO简介 IO(输入输出)通过java.io包下的类和接口来支持,包下包括输入.输出两种IO流,每种输入输出流又可分为字符流和字节流两大类. 2.File类 File类是io包下与平台无关的文件和 ...

  3. 标准输入输出() & 打印流 &配置文件

    public static void main(String[] args) { //System 类 的 public final static InputStream in = null; // ...

  4. JAVA input/output 流层次关系图

    在java中,input和output流种类繁多,那么它们之间是否有关系呢?答案是肯定的,其中使用到了设计模式,装饰模式 下图来自于HEAD FIRST 设计模式 装饰模式一章 下图来自网络博客:ht ...

  5. 14、Java文件操作stream、File、IO

    1.文件操作涉及到的基本概念 File File类 是文件操作的主要对象中文意义就是 文件 顾名思意 万物皆文件,在计算上看到的所有东西都是文件保存,不管是你的图片.视频.数据库数据等等都是按照基本的 ...

  6. Java - IO 内存流和打印流

    IO 内存流和打印流操作 字符编码 计算机中所有的信息组成都是二进制数据,所有能够描述的中文文字都是经过处理后的结果:所有的语言文字都会使用编码来进行描述,例如:ASCII码 常见编码 GBK/GB2 ...

  7. java 打印流(PrintStream)

    打印流(PrintStream):打印流可以打印任意类型的数据,而且打印流在打印数据之前会将数据转为字符串在进行打印 PrintStream可以接受文件和其他字节输出流,所以打印流是对普通字节输出流的 ...

  8. java 21 - 12 IO流的打印流

    打印流 字节流打印流 PrintStream 字符打印流 PrintWriter打印流的特点: A:只有写数据的,没有读取数据.只能操作目的地,不能操作数据源.(只能写入数据到文件中,而不能从文件中提 ...

  9. Java API —— IO流(数据操作流 & 内存操作流 & 打印流 & 标准输入输出流 & 随机访问流 & 合并流 & 序列化流 & Properties & NIO)

    1.操作基本数据类型的流     1) 操作基本数据类型 · DataInputStream:数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型.应用程序可以使用数据输出 ...

  10. Java基础知识强化之IO流笔记59:打印流

    1. 打印流 (1)分类: • 字节打印流   PrintStream • 字符打印流   PrintWriter (2)打印流的特点: • 只能写数据,不能读数据 • 只能操作目的地,不能操作数据源 ...

随机推荐

  1. nodejs模块总结 gulp小结

     1,内置模块                  fs                     const fs = require('fs')                     fs.read ...

  2. kettle从入门到精通 第五十五课 ETL之kettle Excel输入

    1. Excel输入,Microsoft Excel输入步骤的作用是从Microsoft Excel中读取数据,如下图所示: 1)Excel输入步骤从文件D:\data\测试数据.xlsx读取数据. ...

  3. ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)

    第六讲教程只简单介绍了Jolt的chain转换模式,本节课介绍下Jolt的各种转换模式. 点击的处理器JoltTransformJSON高级配置选项,进行测试Jolt的转换模式. 1.Cardinal ...

  4. 流程控制之case

    1.case语句作用 case和if一样,都是用于处理多分支的条件判断 但是在条件较多的情况,if嵌套太多就不够简洁了 case语句就更简洁和规范了 2.case用法参考 常见用法就是如根据用户输入的 ...

  5. JS 中 == 和 === 区别是什么?

    a.对于string,number等基础类型,==和===有区别:不同类型间比较,==之比较"转化成同一类型后的值"看"值"是否相等,===如     果类型不 ...

  6. Lecture6

    Smiling & Weeping ---- 我渴望你的在场,又渴望你的缺席,你终究是我深藏的借口 第六章 GitFlow工作流实战 6.0 引言 在实际项目开发工作中,常常会有自测.联调.提 ...

  7. spring与设计模式之五委派模式

    一.定义 主要突出一个安排,派遣. 这个设计模式非常常见,不需要学习也能自然而然地用上. 从广义的角度出发,一个对象用另外一个对象就是委派. 二.经典实现 略. 三.spring实例代码 https: ...

  8. 3D捕鱼大富翁源码分析

    ​ 今天接受了一个捕鱼的源码,技术栈采用: 客户端:Unity 服务端:Java 数据库:mysql 缓存:redis 先来几张成品图 ​编辑​编辑 ​编辑​编辑 ​编辑 在代码中看到有腾讯推广渠道, ...

  9. 高通Android分区表详解

    高通Android分区表详解 Label Purpose of this partition Modem Partition for modem Fsc Cookie partition to sto ...

  10. 读懂反向传播算法(bp算法)

    原文链接:这里 介绍 反向传播算法可以说是神经网络最基础也是最重要的知识点.基本上所以的优化算法都是在反向传播算出梯度之后进行改进的.同时,也因为反向传播算法是一个递归的形式,一层一层的向后传播误差即 ...