IO流 总结一

字符流:

FileReader

FileWriter

BufferedReader

BufferedWriter

readLine();

字节流:

FileInputReader

FileOutputWriter

BufferedInputstream

BufferedOutputstream

read();

字节流转字符流:

InputStreamReader

字符流转字节流:

OutputStreamWriter

input  read是读入 从磁盘读到内存

output write是写出 从内存写到磁盘

Buffered****.read() 都是从内存中取数据,

FileReader.read(); 从硬盘上取数据

字符流的缓冲区

缓冲区的出现提高了对数据的读写效率

所以在创建缓冲区之前,必须要有流对象。

对应类

BufferedWriter

BufferedReader

缓冲区要结合流才可以使用。

在流的基础上对流的功能进行了增强。

该缓冲区提供了一个跨平台的换行符。 newLine();

其实关闭缓冲区,就是在关闭缓冲区中的流对象。

bufw.close();

字符串取流缓冲区:

该缓冲区提供了一个一次读一行的方法,readLine,方便与文本数据的获取。

当返回null时,表示读到文件末尾。

readLine 方法返回的时候只返回回车符之前的数据内容,并不返回回车符

readLine 方法的原理 无论是读一行,获取读取多个字符,其实最终都是在硬盘上以一个读取。所以最终使用的还是read方法,一次读一个方法。

字节流:

InputStream OutputStram

需求,想要操作图片数据。这时需要用到字节流

如果直接使用字节流,没有指定使用缓冲区的话,是不用刷新的。

Buffered****.read() 都是从内存中取数据,

FileReader.read(); 从硬盘上取数据

读取键盘录入。

System.out:对应的是标准输出设备,控制台。

System.in:对应的是标准输入设备,键盘

Ctrl+z 往里面加结束标志或Ctrl+c

获取键盘录入对象。

将字节流对象转成字符流对象,使用转换流InputStreamReader

为了提高效率,将字符串进行缓冲区技术高效操作,使用BufferedReader;

字符流底层用的也是字节流那个缓冲区

键盘最常见写法

BufferedReader a = new BufferedReader(new InputStreamReader(System.in));

将字符流对象对象转成字节流

OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的 charset 将要写入流中的字符编码成字节

BufferedWrite bufw = new BufferedWrite(new OutputStreamWriter(System.out));

Propertise a = System.getPropertise();获取系统属性。

log4j  异常日志处理软件

流操作的基本规律:

1 明确源和目的。

源:输入流 InputStream Reader

目的 :输出流 OutputStream Writer

2 操作的数据是否纯文本

是:字符流

不是:字节流

3 当体系明确后,在明确要使用哪个具体对象。

通过设备来区分。

源设备:内存,硬盘,键盘

目的设备:内存,硬盘,控制台。

记住,转化流什么时候用,字符与字节之间的桥梁,通常,涉及到字符编码转化时,

需要用到转化流

IO流 总结一,布布扣,bubuko.com

时间: 2024-08-09 22:03:14

IO流 总结一的相关文章

Java中的IO流

Java中的IO流是实现输入/输出的基础. 按照流的方向不同:分为输入流和输出流. 按照处理数据单位的不同:分为字节流(8位)和字符流(16位). 按照功能不同:分为节点流和处理流 所有面向字节的流类都继承于InputStream类(输入流) 或OutputStream类(输出流),这两个类是抽象类,我们可以利用它的子类来完成不同的功能. InputStream.OutputStream都是抽象类 InputStream抽象了应用程序读取数据的方式 OutputStream抽象类应用程序写出数据

Java IO流 探险

Java的IO流使用了一种装饰器设计模式,它将IO流分为底层节点流和上层处理流.本篇重点在如何访问文件与目录.如何以二进制格式和文本格式来读写数据.对象序列化机制.还有Java7的"NIO.2". 装饰设计模式:当想要对已有的对象进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供加强功能.那么自定义的该类称为装饰类. 装饰类通常会通过构造方法接收被装饰的对象.并基于被装饰的对象的功能,提供更强的功能. IO的方式通常分为:BIO(同步阻塞).NIO(同步非阻塞).AIO

Java 之IO流及应用

IO流 IO流概述及FileWriter类的使用 FileReader类使用 缓冲流介绍和使用 IO流相关案例 NO.one IO流概述及FileWriter类使用 1.1 IO流概述及分类 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 Java用于操作流的类都在IO包中 流按流向分为两种:输入流,输出流 1.2 FileWriter类使用 A:打开帮助文档 B:点击显示,找到索引,看到输入框 C:你要学习什么内容,你就在框框里面输入什么内容 举例:Random D:看包

IO流和File

读键盘数据.显示数据6-1)io流的分类 按方向:输入流(读取数据) 输出流(写入数据) 按数据类型:字节流(基本数据类型)输出输入 字符流(字节流的包装 对字节流进行处理)输出输入四个核心类: InputStream 字节输入流 OutStream 字节输出流 Reader 字符输入流 Writer 字符输出流6-2) 文件类 File d:/lxj/xx.txt 绝对路径 构造方法: File(String dir,String fileName) File(String path)//pa

Java笔记(19):IO流(01)

1.try...catch的方式处理异常1 1 package cn.itcast_02; 2 3 /* 4 * 异常:程序出现了不正常的情况. 5 * 6 * 程序的异常:Throwable 7 * 严重问题:Error 我们不处理.这种问题一般都是很严重的,比如说内存溢出. 8 * 问题:Exception 9 * 编译期问题:不是RuntimeException的异常 必须进行处理的,因为你不处理,编译就不能通过. 10 * 运行期问题:RuntimeException 这种问题我们也不处

java基础8(io流3)

1.LineNumberReader: public int getLineNumber():获取行号 public void setLineNumber(int lineNumber):设置起始行号 String readLine():读取一行 2.操作基本数据类型的流 DataInputStream:读数据 DataOutputStream:写数据 作用:可以操作基本类型的流对象,其读写顺序必须一致,否则数据有问题. public static void main(String[] args

java IO流

* IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流. * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便. * IO流常用父类 * 字节流的抽象父类: * InputStream * OutputStream * 字符流的抽象父类: * Reader * Writer * IO程序

Java:IO流与文件基础

Java:IO流与文件基础 说明: 本文所有内容包含图片均为MrSaber自己编写,转载请练习我哦. 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象称作 输入流,可以向其中写入一个字节序列的对象称作 输出流. ? 这些字节序列的来源可以是:文件.网络连接.内存块等. ? 抽象类InputStream和OutputStream是构成输入/输出(I/O)的基础. ? 因为面向字节的流

5. IO流:★★★★★

IO流:★★★★★,用于处理设备上数据. 流:可以理解数据的流动,就是一个数据流.IO流最终要以对象来体现,对象都存在IO包中. 流也进行分类: 1:输入流(读)和输出流(写). 2:因为处理的数据不同,分为字节流和字符流. 字节流:处理字节数据的流对象.设备上的数据无论是图片或者dvd,文字,它们都以二进制存储的.二进制的最终都是以一个8位为数据单元进行体现,所以计算机中的最小数据单元就是字节.意味着,字节流可以处理设备上的所有数据,所以字节流一样可以处理字符数据. 那么为什么要有字符流呢?因

理解IO流:InputStream和OutputStream,FileInputStream和FileOutputStream,Reader和Writer,FileReader和FileWriter,BufferedInputStream 和 BufferedOutputStream, BufferedReader 和 BufferedWriter,转换流

/* * 1.理解 "流" ? * 动态性.连续性.方向性. * * 2.在java语言中,将数据的输入/输出称之为 IO流. IO流的分类: * 1) 从方向分: 输入流 , 输出流. (参照计算机的内存) * 将数据送到内存中去称之为输入流.反之,称之为输出流. * * 2) 从处理单位来分: 字节流(8位二进制数据), 字符流(16位二进制数据). * * 3) 从是否有数据源来分: 节点流(有数据源), 处理流(必须套在节点流上). * * 3.在Java语言中,所有流类均来自