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. elementUI slider组件,带范围选择实现双向绑定

    网上查过很多相关文章都没有一章是写element ui滑块带范围实现双向绑定 二个滑块二头的数据怎么得到 我的需求是做个时间轴要滑动选择不同的时间 开始很难做最后一点一点摸索得出的结论 好在写出来了先 ...

  2. 机器学习笔记(2): Logistic 回归

    Logistic 回归是线性回归中一个很重要的部分. Logistic 函数: \[\sigma(x) = \frac {L} {1 + \exp(-k(x - x_0))} \] 其中: \(L\) ...

  3. The solution of CF380C

    problem 希望这篇题解不要明年才审完. 标签:线段树 记录 \(Lsum_p\) 为这个区间有多少个 ( 不能匹配,\(Rsum_p\) 为这个区间有多少个 ) 不能匹配. 对于叶子结点如果是 ...

  4. 可观测性平台夜莺开源项目发布V6正式版!

    夜莺开源项目在2023.7月底发布了V6版本,这个版本开始,项目目标不止于做一款开源监控系统,而是要做一款开源可观测性平台,不过路漫漫其修远兮,初期只是把日志数据源引入并完成了基本的可视化,后续会着力 ...

  5. Java实际工作里用到的几种加密方式

    1.Base64加密 最简单的加密方式,甚至可以说不是加密,只是一种用64个字符表示任意二进制数据的方法.Base64编码原理是将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高位补 ...

  6. 判断是否有数据的sql优化

    根据某一条件从数据库表中查询 『有』与『没有』,只有两种状态,那为什么在写SQL的时候,还要SELECT count(*)呢? 多次REVIEW代码时,发现如现现象: 业务代码中,需要根据一个或多个条 ...

  7. Css var 简述

    Css var 语法 var(custom-property-name, value) - custom-property-name 必须 变量必须以 --开头 后面可以是英文.数字连接符,区分大小写 ...

  8. 函数式表达式基本类型及固定类型 demo

    1.常见类型及使用 import java.util.function.BiConsumer; import java.util.function.BiFunction; import java.ut ...

  9. mongodb连接类

    import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.cl ...

  10. Python 压缩PDF减小文件大小

    压缩 PDF 文件能有效减小文件大小并提高文件传输的效率,同时还能节省计算机存储空间.除了使用一些专业工具对PDF文件进行压缩,我们还可以通过 Python 来执行该操作,实现自动化.批量处理PDF文 ...