Java学习 · 初识 IO流
IO流
1. 原理与概念
a) 流
i. 流动,流向
ii. 从一端移动到另一端 源头到目的地
iii. 抽象、动态概念,是一连串连续动态的数据集合
iv. 程序与文件|数组|网络连接|数据库,以程序为中心
b) 分类
i. 流向:输入流输出流
ii. 数据
- 字节流
a) InPutStream OutPutStream
b) 二进制
c) 可以包括一切文件
- 字符流
a) Reader Writer
b) 文本文件
c) 只能处理纯文本

4.功能
a) 节点流
i. 包裹源头
b) 处理流
i. 增强功能,提高性能
c) 
- File文件类
a) 两个常量
i. 路径分隔符;File.pathseparator
ii. 名称分隔符(windows)/File.separator
iii. 
b) 构造File文件
i. 
ii. 常用方法

- 字节流
a) 读取文件
i. 建立联系 File对象 源头
ii. 选择流文件输入流 InputStream FileInputStream
iii. 操作 : byte[] car =new byte[1024]; +read+读取大小
iv. 
v. 释放资源 close
b) 写出文件
i. 建立联系 File对象 源头 目的地
ii. 选择流文件输出流 OutputStream FileOutputStream
iii. 操作 : write() +flush
iv. 释放资源
c) 文件拷贝
i. 建立联系 File对象 源头 目的地
ii. 选择流 文件输入流 InputStream FileInputStream文件输出流 OutputStream FileOutputStream
iii. 操作 : 拷贝
byte[] flush =new byte[1024]; int len =0;while(-1!=(len=输入流.read(flush))){ 输出流.write(flush,0,len) }出流.flush

d) 文件夹拷贝
i. 递归查找子孙级文件|文件夹
ii. 文件 复制(IO流复制) 文件夹 创建
iii. 不能将父目录拷贝到子目录中
iv. 
e) 字符流
i. 只能处理 纯文本,全部为可见字符 .txt .html
ii. 读取
- 建立联系
2.选择流
3.读取 char[] flush =new char[1024];
4.关闭

f) 处理流
i. 字节缓冲流
- BufferedInputStream
- BufferedOutputStream
ii. 字符缓冲流
- BufferedReader readLine()
- BufferedWriter newLine()
iii. 作用
iv. 

g) 转换流
i. 
ii. 
h) 其他流
i. 字符数组流(节点流,字节流)
ii. 处理流
- 基本类型+String 保留数据+类型
a) 输入流:DataInputStream readXxx
b) 输出流:DataOutputStream writeXxx
c) 
d) 
- 引用类型 (对象) 保留数据+类型
a) 反序列化 输入流:ObjectInputStream readObject()
b) 序列化 输出流OectOutputStream writeObject()
c) 

d) 
- 打印流
a) PrintStream println() print()
b) 三个常量 : System.in /out/err System.setIn() setOut() setErr()
c) 
4. 文件分割
a) 
b) 
Java学习 · 初识 IO流的更多相关文章
- java学习之IO流(学习之旅,一)
个人在学习IO流的时候看到如下所示java 流类图结构的时候,我的感想是,这么多··处于蒙的状态. Java流类图结构 这么多,没有分类不好学,那我们就慢慢一口一口的吃,这样每天学习一点就好了,其实很 ...
- java学习之IO流
java io流有四大家族分别是: 1.InputStream(字节输入流) 2.OutputStream(字节输入出流)3.Reader(字符输入流)4.Writer(字符输出流)四个类都是抽象类 ...
- java学习笔记——IO流部分
IO流常用的有:字符流.字节流.缓冲流.序列化.RandomAccessFile类等,以上列出的都是开发中比较常用的. 1.字节流: 字节流包含:FileInputStream/FileOutputS ...
- Java 学习笔记 IO流与File操作
可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt" ...
- java学习笔记 --- IO流小结
IO流 |--字节流 |--字节输入流 InputStream int read():一次读取一个字节 int read(byte[] bys):一次读取一个字节数 ...
- Java学习:IO流
IO流 1.IO流 用于处理设备上的数据. 设备:硬盘,内存,键盘录入. 2. IO有具体的分类: 根据处理的数据类型不同:字节流和字符流. 根据流向不同:输入流和输出流. 字符流的由来: 因为文件编 ...
- java学习笔记--IO流
第十二章大纲: I/O input/output 输入/输出 一.创建文件,借助File类来实现 file.createNewFile() : 创建文件 file.exists() : 判断文件是否存 ...
- Java学习之IO流及网络编程
一.字节 1.1字节输入流(java.io.InputStream) 此抽象类是表示字节输入流的所有类的超类 1.1.1定义了所有子类共性的方法: int read() 从输入流中读取数据的下 ...
- Java学习之IO流总结
---恢复内容开始--- 流是用来读写数据的,java有一个类叫File,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块区间,在这个文件里面存放着各种各样的数据,我们想读文 ...
随机推荐
- Google File System设计方面的问题汇总
1.Google File System概述 google file system是一个分布式文件系统,针对的是数据密集型应用,提供容错功能,运行在低廉的服务器上,同时给大量的用户提供高性能服务.尽管 ...
- 第四模块MySQL50题作业,以及由作业引申出来的一些高端玩法
一.表关系 先参照如下表结构创建7张表格,并创建相关约束 班级表:class 学生表:student cid caption grade_id ...
- mysql 8.0.12安装步骤
首先从官网下载压缩包: 解压压缩包到指定目录,在目录下新建my.ini,配置内容如下; [mysqld] # 设置3306端口 port=3306 # 设置mysql的安装目录 basedir ...
- linux 学习第七天
一.bash 使用(for循环.while循环) 1.1.批量添加用户 1.2.查看用户是否存在 A.cut -d : -f 1 /etc/passwd B.id dream (id 用户名称) C ...
- jQuery获取Select option 选择的Text和 Value
获取一组radio被选中项的值:var item = $('input[name=items][checked]').val();获取select被选中项的文本var item = $("s ...
- Asp.Net Core链接Mysql数据库
一.新建一个Asp.Net Core WebMVC程序 添加nuget包 Mysql.Data 二.新建一个UserContext类 下面代码中的UserInfo是我自己建的一个实体,里面有俩字段: ...
- ueditor 富文本编辑器 Uncaught TypeError: Cannot set property 'innerHTML' of undefined问题
ueditor.addListener("ready", function () { ueditor.setContent(‘内容'); });
- Ubuntu中 MySQL 的中文编码问题
使用Ubuntu在安装好MySQL数据库之后,如果直接创建数据库,再创建数据表,那么是无法向字段插入中文的,会报Incorrect string value错误. c实现编码设置的两种方法: (1)动 ...
- HDFS重要特性
首先,它是一个文件系统,用于存储文件,通过统一的命名空间目录树来定位文件: 其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色. 1. master/slave 架构 HD ...
- Spark运行模式_基于YARN的Resource Manager的Client模式(集群)
现在越来越多的场景,都是Spark跑在Hadoop集群中,所以为了做到资源能够均衡调度,会使用YARN来做为Spark的Cluster Manager,来为Spark的应用程序分配资源. 在执行Spa ...