Java的IO流概述:
1.I/O是Input/Output的缩写,I/O技术是非常实用的技术,
用于处理设备之间的数据传输。如读/写文件,网络通讯等。
2.Java程序中,对于数据的输入/输出操作以“流(stream)” 的方式进行。
3.java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,
并通过标准的方法输入或输出数据。

IO流的分类:
1.按操作数据单位不同分为:字节流(8 bit), 字符流(16 bit)。
2.按数据流的流向不同分为:输入流,输出流。
3.按流的角色的不同分为:节点流,处理流。

1.Java的IO流共涉及40多个类,实际上非常规则,都是从以上4个抽象基类派生的。
2.由这四个类派生出来的子类名称都是以其父类名作为子类名后缀。

节点流和处理流:
1.节点流:直接从数据源或目的地读写数据。
2.处理流:不直接连接到数据源或目的地,而是“连接”在已存在的流(节点流
或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。

 InputStream和Reader:

1.程序中打开的文件I0资源不属于内存里的资源,垃圾回收机制无法回收该资源,
所以应该显式关闭文件10资源。
2.FileInputStream从文件系统中的某个文件中获得输入字节。FileInputStream
用于读取非文本数据之类的原始字节流。要读取字符流,需要使用FileReader。

InputStream概述:

Reader概述:

OutputStream和Writer:

OutputStream概述:

Writer概述:

节点流(或文件流)概述:

读取文件时:
1.建立一个流对象,将已存在的一个文件加载进流。
➢FileReader fr = new FileReader(new File("Test.t"));
2.创建一个临时存放数据的数组。
➢char[] ch = new char[1024];
3.调用流对象的读取方法将流中的数据读入到数组中。➢fr.read(ch);
4.关闭资源。➢fr.close();

写入文件时:
1.创建流对象,建立数据存放文件。
➢FileWriter fw = new FileWriter(new File("Test.tx"));
2.调用流对象的写入方法,将数据写入流。
➢fw.write("atguigu-songhongkang");
3.关闭流资源,并将流中的数据清空到文件中。➢fw.close();

节点流注意事项:
1.定义文件路径时,注意:可以用“/”或者“\"。
2.在写入一个文件时,如果使用构造器FileOutputStream(ile),则目录下有同名文件将被覆盖。
3.如果使用构造器FileOutputStream(ile,true),则目录下的同名文件不会被覆盖,
在文件内容末尾追加内容。
4.在读取文件时,必须保证该文件已存在,否则报异常。
5.字节流操作字节,比如: .mp3, .avi, .rmvb, mp4,jpg, .doc, .ppt
6.字符流操作字符,只能操作普通文本文件。最常见的文本文件: .txt, .java, .c, .cpp 等语言的源代码。
尤其注意.doc,ecel,ppt这些不是文本文件。

Java之IO流用法总结的更多相关文章

  1. 第15章-输入/输出 --- 理解Java的IO流

    (一)理解Java的IO流 JAVA的IO流是实现输入/输出的基础,它可以方便地实现数据的输入/输出操作,在Java中把不同的输入/输出(键盘.文件.网络连接等)抽象表述为"流"( ...

  2. Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream)

    Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我已经分享过很多的J ...

  3. Java基础-IO流对象之随机访问文件(RandomAccessFile)

    Java基础-IO流对象之随机访问文件(RandomAccessFile) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.RandomAccessFile简介 此类的实例支持对 ...

  4. Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream)

    Java基础-IO流对象之序列化(ObjectOutputStream)与反序列化(ObjectInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.对象的序 ...

  5. Java基础-IO流对象之File类

    Java基础-IO流对象之File类 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.IO技术概述 回想之前写过的程序,数据都是在内存中,一旦程序运行结束,这些数据都没有了,等下 ...

  6. 一文看懂java的IO流

    废话不多说,直接上代码 import com.fasterxml.jackson.databind.ObjectMapper; import java.io.*; import java.nio.ch ...

  7. Java 的 IO 流

    接着上一篇的 “Java 的 File 类” 的随笔,在File类的基础上,我们就走进Java的IO流吧. 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在 ...

  8. java的IO流

    java的IO流继承四大抽象类分别是字节流 inputStream outputStream与字符流 read write.怎么理解记忆很重要. 直接连接读写对象的是结点流,例如对文件读取字节类的名字 ...

  9. Java基础——IO流

    今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板.内存.键盘等处理 ...

随机推荐

  1. hdu 2126 Buy the souvenirs(记录总方案数的01背包)

    Buy the souvenirs Time Limit: 10000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. H3C HDLC协议使用限制

  3. CF351E Jeff and Permutation

    CF351E Jeff and Permutation 贪心好题 考虑每个对能否最小化贡献和 先不考虑绝对值相同情况 发现,对于a,b假设|a|<|b|,那么有无贡献只和b的正负有关!如果a在b ...

  4. vue-axios当只调用vue.js又需要axios请求多时

    可以将axios方法封装一个函数 (function () { ASK = { get:function (url,data,succFun,errFun) { axios.get(url,{ par ...

  5. 微信里首次跳转会到首页问题(window.location失效)

    将window.location.href 换为location.href

  6. 【30.01%】【hdu 3397】Sequence operation

    Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  7. dotnet 数组自动转基类数组提示 Co-variant array conversion 是什么问题

    在 C# 的语法,可以提供自动将某个类的数组自动转这个类的基类数组的方法,但是这样的转换在 Resharper 会提示 Co-variant array conversion 这是什么问题? 在 C# ...

  8. Linux 操作虚拟机、数据库

    1.打开虚拟机,输入命令:ifconfig 查看iP和端口号,端口号一般为:22 2.打开Xshell(先安装好),连接虚拟机(根据iP和端口号) 若连接成功,Xshell则会显示虚拟机的ip和端口号 ...

  9. 2019 沈阳网络赛 Fish eating fruit

    这题看了三个月,终于过了,第一次看的时候没学树形DP,想用点分治但是不会 后来学了二次扫描,就有点想法了.... 这东西也真就玄学了吧... #include<iostream> #inc ...

  10. JWT实现分布式Session

    JWT是什么 JWT一看就是简称,它的全称JSON Web Token,从字面上我们看出 1.数据是JSON格式 2.用于Web应用 3.是一个Token,也就是一个令牌方式 看看官方的说明,它定义了 ...