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 2066最短路径Dijkstra、

    思路:枚举所有起点城市然后比较每个起点所去喜欢城市的最小距离 #include<cstdio> #include<cmath> #include<cstring> ...

  2. Java5新特性对数组的支持

    增强for循环 → for-each for (参数类型参数名 : 数组名) { 代码块 } Eg: package reviewDemo; public class Demo6 { public s ...

  3. mysql 第三课 jdbc基础操作

    jdbc连接可以大致分为5步: 1.注册驱动 2.获取连接 3.编写语句 4.执行语句 5.关闭连接 其中可以设置参数等等. 1.我们先建一个项目目录: 其中com.etc.dao为数据访问对象 co ...

  4. Python--day61--Django中的app

  5. python基础五之字典

    python数据的可变性 通过数据的可变性,可将数据分为可变数据类型和不可变数据类型. 可变数据类型:list,dict (不可哈希) 不可变数据类型:元祖,bool,int,str (可哈希) py ...

  6. Codeforces 1100F(离线 or 在线)

    传送门 •参考资料 [1]:在线线性基 [2]:离线线性基 [3]:离线线性基 •题意 给你 n 个数,m 次询问: 每次询问给定一个区间 $l,r$,求 $a_{l \cdots r}$ 异或的最大 ...

  7. H3C FTP主动数据传输方式

  8. 遍历$.map和$.each

    <body> <p style="color:red;"><b>Values: </b></p> <form> ...

  9. CentOS yum有时出现“Could not retrieve mirrorlist ”的解决办法——resolv.conf的配置

    国内服务器在运行命令yum -y install wget的时候,出现: Could not retrieve mirrorlist http://mirrorlist.centos.org/?rel ...

  10. Linux 内核PCI 中断

    对于中断, PCI 是容易处理的. 在 Linux 启动时, 计算机的固件已经分配一个唯一的中 断号给设备, 并且驱动只需要使用它. 中断号被存储于配置寄存器 60 (PCI_INTERRUPT_LI ...