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. spark mllib docs,MLlib: RDD-based API

    MLlib: RDD-based API This page documents sections of the MLlib guide for the RDD-based API (the spar ...

  2. 京东基于Spark的风控系统架构实践和技术细节

    京东基于Spark的风控系统架构实践和技术细节 时间 2016-06-02 09:36:32  炼数成金 原文  http://www.dataguru.cn/article-9419-1.html ...

  3. [转]Java Web工程目录结构

    说明 介绍java web 工程的基本结构目录.记录java web 工程结构的学习. Java web 结构 java web严格来说分为两类工程结构:一个是工程编译目录结构,一个是工程发布目录结构 ...

  4. 原生Js 实现等比缩放页面

    针对1920*1080 分配率缩放 window.addEventListener('load', adaptation); window.addEventListener('resize', ada ...

  5. C# json 转 xml 字符串

    本文告诉大家如何将 json 转 xml 或将 xml 转 json 字符串 首先需要安装 Newtonsoft.Json 库,打开 VisualStudio 2019 新建一个 dotnet cor ...

  6. 提前终止forEach技巧,使用try catch

    学习react优化性能的时候,在render之前,生命周期shouldComponentUpdate里判断前后两次数据是否一致,使用了forEach嵌套if语句,如果满足条件想直接break跳出for ...

  7. Java语言中使用OpenMP

    从去年年中,开始学习Java,主要是维护公司用Java编写的服务器软件.目前,该服务器软件遇到一个问题,在下载大文件时,如果同时下载的用户很多, 服务器软件工作会出现异常,有的用户无法下载.服务器硬件 ...

  8. blink接收器

    blink: [autorun] OPEN="AutoInst.exe"  [AskRebootTitle] Dlg1=System Settings Change Dlg2=št ...

  9. mysql高可用解决方案

    浅谈mysql主从复制的高可用解决方案 1.熟悉几个组件(部分摘自网络)1.1.drbd     —— DRBD(Distributed Replicated Block Device),DRBD号称 ...

  10. Visual Studio Team Services使用教程【1】:邀请团队成员

    2017.4.23之后建议朋友看下面的帖子 TFS2017 & VSTS 实战(繁体中文视频) Visual Studio Team Services(VSTS)与敏捷开发ALM实战关键报告( ...