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,它封装的是文件的文件名,只是内存里面的一个对象,真正的文件是在硬盘上的一块区间,在这个文件里面存放着各种各样的数据,我们想读文 ...
随机推荐
- 记一次数据库同步经历(sql server 2008)
前阵子搞了下数据库同步,大概意思就是服务器上有一个数据库,与本地数据库进行同步,服务器上的数据库有什么改变,可以同步到本地数据库中.做之前百度了下,流程分以下三步, 第一步: 服务器上的数据库进行发布 ...
- 撸一个简单的MVVM例子
我个人以为mvvm框架里面最重要的一点就是VM这部分,它要与Model层建立联系,将Model层转换成可以被View层识别的数据结构:其次也要同View建立联系,将数据及时更新到View层上,并且响应 ...
- Kubernetes组件与架构
转载请标明出处: 文章首发于>https://www.fangzhipeng.com/kubernetes/2018/09/30/k8s-basic1/ 本文出自方志朋的博客 Kubernete ...
- 学习笔记 - 2sat
学习笔记 - 2sat 决定重新启用Markdown--只是因为它支持MathJax数学公式 noip考完,既轻松又无奈,回来慢慢填坑 这篇博客也是拖了好久,通过kuangbin的博客才弄懂2-sat ...
- 附件上传——mysql blob类型的数据(springboot)1
作为一个初出茅庐的菜鸟,这几天做了一下附件的上传与下载,附件文件存储在mysql中,数据类型为blob.在此做一下总结.望指正. 一.先总结附件的上传.(实质是将文件传到controller,后处理成 ...
- 增强for循环和迭代器
package example6; import java.util.ArrayList;import java.util.Iterator;import java.util.List; class ...
- 对布局定位设置-position
使用position属性,会激活5个属性 left right bottom top z-index(-1至999) 注:z-index:会改变内容的层级关系, 1.绝对定位 position: ab ...
- nginx知识总结
nginx知识总结 一.功能 负载均衡 反向代理 静态资源服务器 二.来源 nginx 俄罗斯第二网站开源项目 tengine 淘宝团队基于nginx开发的 区别:nginx安装之后还得装第三方软件包 ...
- eclipse 安装 lombok
转载自http://bbs.itmayiedu.com/article/1527769518449 由于项目中有 @Slf4j 注解等,而 eclipse 需要安装 lombok 插件才能正常编译.由 ...
- yii学习笔记(3),自定义全局工具函数
在平时开发是经常需要打印数据来调试 常见的打印方式有print_r和var_dump,但是这样打印出来格式很乱不好浏览 在打印函数前后加上<pre></pre>就可以将内容原样 ...