java 中的I/O流


I/O
流的三种分类
流的方向 输入/输出
数据单位 字节/字符 字符流专用于处理文本 字节流用于处理一切数据
流的功能 节点/过滤 节点:真正传输数据 过滤流:为节点流增强功能

1.创建节点流
2.封装过滤流
3.读/写数据
4.关闭最外层的过滤流

字节流
InputStream/OutputStream 字节流的父类 抽象类
FileInputStream/FileOutputStream 节点流 读写文件
write(int a) 写一个字节
write(byte[] bs) 把bs中所有字节写出去
write(byte[] bs,int start,int length) 把bs数组中的一段写出去

read():读一个字节
read(byte[] bs):读满字节数组 返回值为实际读入的字节数
read(byte[] bs,int start,int length) 读满数组中的一段

DataInputStream/DataOutputStream 读写8种基本类型和String
BufferedInputStream/BufferedOutputStream 缓冲
flush() 清空缓冲区
PrintStream 输出过滤流 写8种基本类型和String 缓冲

ObjectInputStream/ObjectOutputStream 读写对象 对象序列化
只有实现了Serializable接口的对象才能序列化
用transient修饰的属性为临时属性,不参与序列化

字符流
字符的编解码
字符集(A-Z a-z 0-9)
ASCII 美国
ISO-8859-1 西欧
GB2312/GBK 简体中文
Big5 繁体中文
Unicode Java中char类型的默认编码方式 UTF-16 1char -- 2byte
UTF-8 全球统一

当编码方式和解码方式不统一时,会出现乱码问题

Reader/Writer 字符流的父类 抽象类
FileReader/FileWriter 文件字符流 节点流
InputStreamReader/OutputStreamWriter 桥转换 字节流-->字符流
可以指定编解码方式
BufferedReader/BufferedWriter 缓冲
PrintWriter 字符输出流 缓冲 取代BufferedWriter

File类 代表磁盘上的一个文件或者目录
createNewFile() 创建新文件
mkdir() 创建新目录
delete() 删除文件或者空目录
exists() 判断文件或者目录是否存在
getAbsolutePath() 获得文件的绝对路径
isDirectory()/isFile() 判断File对象代表的是不是目录/文件
listFiles() 列出目录中的内容 返回值:File[]

java 中的I/O流,布布扣,bubuko.com

时间: 2025-01-04 05:33:13

java 中的I/O流的相关文章

Java中常见的IO流及其使用

Java中IO流分成两大类,一种是输入流,所有的输入流都直接或间接继承自InputStream抽象类,输入流作为数据的来源,我们可以通过输入流的read方法读取字节数据:另一种是输出流,所有的输出流都直接或间接继承自OutputStream抽象类,输出流接收数据,可以通过write方法写入字节数据.在Java的IO流类中,大部分的输入流和输出流都是成对存在的,即如果存在XXXInputStream,那么就存在XXXOutputStream,反之亦然.(SequenceInputStream和St

JAVA中的I/O流以及文件操作

一 JAVA语言中主要通过流来完成IO操作. 流:计算机的输入输出之间流动的数据序列,也是类的对象.java中的流方式就像是建立在数据交换源和目的之间的一条通信路径. 数据源:计算机中的数据源是指可以提供数据的地方,包括键盘,磁盘文件,网络接口等. 输入流:从程序外部传向程序的流.输入流只能从中读数据. 输出流: 从程序传到外部的流.输出流只能向其写入数据. 所谓的输入和输出是以程序为中心的,数据流向程序即输入流,数据从程序中流出即输出流. 二 字节流 字节流是以字节为传输单位的数据读写形式,用

Java中的I/O流

一.什么是IO庆哥:小白,你知道什么是IO吗? 小白:我英文不是太好,但是在这里这个I指的应该是input,而这个O指的则是output吧!对于IO我的认识就是输入输出了,不知道这样理解是否正确! 庆哥:对于IO我们理解成输入输出很正确,但是我们一定要注意一个非常重要的点那就是“流”,什么意思呢?在这里我们更准确的来说其实是输入输出流,因为我们在讨论IO的时候,流则是关键中的关键,我也听过很多人对IO的描述就是输入输出流,这其实是IO的一种分类,在这里想给你说下对于IO我们可以如下分类 按数据流

Java中的I/O流(转载)

Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作.   IO流的分类 根据处理数据类型的不同分为:字符流和字节流 根据数据流向不同分为:输入流和输出流 字符流和字节流 字符流的由来: 因为数据编码的不同,而有了对字符进行高效操作的流对象.本质其实就是基于字节流读取时,去查了指定的码表. 字节流和字符流

java中字节流与字符流的区别

字节流 在I/O类库中,java.io.InputStream和java.io.OutputStream分别表示字节输入流和字节输出流,它们都是抽象类,不能实例化,数据流中的最小单位是字节,所以叫做字节流. 一.InputStream中的读取数据的方法如下: 1 .int read() 功能:读取一个字节的数据,并且返回读到得数据,如果返回-1,则表示读到输入流的末尾. 2.int read(byte[] b) 功能:从输入流中读取一定量的字节,并将其存储在字节数组b中,返回实际读取的字节数,如

java 中简单的IO流(二)

今天我们一起简单的总结一下缓冲流,今天着重看一下BufferReader   和BufferWriter这两个缓冲流.我们知道BufferReader是缓冲流,那么何为缓冲流,效率如何提高呢?BufferReader中有一个字符数组缓冲区,这个字符缓冲区有默认缓冲大小,或者你可以指定缓冲区的大小.当程序运行时,会启动IO操作,将源中的数据读取出来,一次将缓冲区读满.当我们进行其他操作时,读取到一个字符数组,读取一行等.都是读取的是缓冲区的内容.当缓冲区的内容不够读取时,这时在启动IO操作,将读完

JAVA中I/O流的使用

值此新年之际我开始了自己的第一篇博客,首先祝大家新年快乐,学习工作进步,在此我在Java编程的学习中将有一些自己的心得或者说学的的经验和大家分享,还望指正共同学习,下面我将所学I/O流的相关问题与大家分享学习. I/O流在我们以后的java编程中是比较重要的一部分,我们学习Java必定少不了对文件的操作,而I/O流就是我们操作的基础,因此我们需要掌握四中流的使用,在java中我们可以把流分为输入和输出两类,或者可以按字节流和字符流分. 即:输出流有,字符输出流,字节输出流. 输入流有,字符输出流

Java I/O— 梳理各种“流”

背景 Java的核心库java.io提供了全面的IO接口.包括:文件读写.标准设备输出等.Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入. -- 百度百科 Java.io中有很多类,我们如何清楚地知道什么时候该用什么类呢? 目标 本文的目标是梳理java.io中各个类的关系,了解各个类的应用场景. 概念 数据源,数据流,目的地.在看关于java io的相关代码时,每次都要问问自己此时这三者各指的是谁.而本文主要是说数据流的. 归类 按不同分类方法,将各种"

Java 输入输出(一)——流

Java输入输出大致可以分为两类,流式操作与非流式操作,流式操作主要关注与文件内容的读写,非流式操作主要用于文件在磁盘上的管理.下面首先学习流式数据操作. 流 与c++类似,java中也提供了流的概念来处理输入输出(I/O).Java中,可以从其中读入一个字节序列的对象称为输入流,可以向其中写入一个字节序列的对象称为输出流.输入输出流都是对象,这一类对象需要绑定特定的字节来源和目的地,可以是标准输入输出(键盘和屏幕),文件或者网络,甚至可以是内存块. 抽象类InputStream和OutputS