栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java io流

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java io流


一、文件 1、概念

1、文件就是保存数据的地方,比如:文字、视频

2、文件流

输入和输出是针对内存而言的。

2、常用的文件操作 1)创建文件


练习:


2)获取文件信息


3)目录操作





二、IO流原理和分类 1、概述




一个字符对应几个字节?跟编码有关系

字符流的效率比字节流高

但是字节流的好处在于操作二进制文件,可以保证操作是无损的操作

字符流操作文本文件比较好,字节流操作二进制文件比较好

InputStream、OutputStream都是抽象类,不能直接实例化
Reader、Writer也是抽象类,不能直接实例化
在使用的时候创建它们的实现子类才可以


流和文件的关系:

2、IO常用类


关系图:

1)FileInputStream








2)FileOutputStream







3)FileInputStream和FileOutputStream综合应用------文件拷贝


4)文件字符流说明(FileReader和FileWriter)



5)FileReader




6)FileWriter


细节:




7)节点流和处理流



节点流是对特定的数据源进行操作的

数据源就是存放数据的地方


处理流也叫包装流



writer也是类似:

bufferedWriter中含有writer的属性,就意味着bufferedWriter可以封装任意一个writer的子类,这个时候在操作数据源既可以是对文件,也可以是对数组进行操作,这样就相当于包装流bufferedWriter的功能更加强大了



节点流和处理流比较

模拟修饰器的设计模式:





8)bufferedReader



关闭时,只需要关闭外层流即可,因为实际上工作的时节点流




8)bufferedWriter


9)buffered拷贝

readLine读取一行内容,但是没有换行

10)bufferedInputStream


11)bufferedOutputStream


12)字节处理流拷贝文件



13)对象处理流ObjectOutputStream和ObjectInputStream


为了:能够将 基本数据类型或者对象 进行序列化和反序列化


如果要让对象支持序列化,必须要实现两个接口中的一个

  • serializable标记接口,没有方法
  • externalizable




objectOutputStream类


objectInputStream类


提出dog类:



对象处理流使用细节




14)标准输入输出流




System.in代表的是一个流,标准输入流
System.out代表的是一个流,标准输出流

15)转化流 InputStreamReader和 OutputStreamWriter


如果文件的编码不是utf-8会出现问题:

关键:没有指定文件的读取编码方式

1)InputStreamReader

InputStreamReader是属于字符流的,可以实现从字节流转化为字符流



2)OutputStreamWriter

字节流-》字符流

当处理纯文本数据的时候,使用字符流的效率更高


16)打印流 PrintStream和PrintWriter

打印流只有输出流,没有输入流


(1)PrintStream 字节流

可以把信息打印到显示器、文件等等


(2)PrintWriter 字符流



三、properties类 1、引入


传统的方案:

如果我们要求得到指定的ip值

2、properties读文件




3、properties修改文件

properties父类是Hashtable,底层就是Hashtable 核心方法


四、练习 1、


2、

3、



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/353750.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号