IO概述

什么是IO

生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了保存,可能文件就白白编辑了。当你的电脑上插入一个U盘,可以吧一个视频,拷贝到你的电脑硬盘里,那么数据都是在哪些设备上的呢?键盘/内存/硬盘/外界设备等等

我们把这种数据的和参数,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入Input和输出OutPut,即流向内存是输入流,流出内存是输出流

java中I/O操作主要是指使用java.io报下的内容,进行输入,输出等操作,输入也叫读取数据,输出也叫作写出数据

IO流的分类

根据数据流向分为输入流和输出流

输入流:把数据从其他设备上读取到内存中的流

输出流:把数据从内存中写出到其他设备上的流

根据数据的类型分为:字节流和字符流

字节流:

一切文件数据(文本、图片、视频等)在存储时,都是以二进制数学的形式保存,都一个一个的字节,那么传输时一样如此。多以字节流可以传输任意文件数据,在操作流的时候,无论使用什么样的流对象,底层传输的始终为二进制数据

字节输出流(OutputStream)

java java.io.OutputStream抽象类是表示字节输出流的所有类的超类,将指定的字节信息写出到目的地。他定义了字节输出流的基本共性功能方法。

java public void close():关闭次输出流并释放与此流相关联的任何系统资源。

java public void flush():刷新此输出流并强制任何缓冲的输出字节被写出

java public void write(byte[] b):将b.lengtn字节从指定的字节数组写入到此输出流

java public void write(byte[] b,int off,int len):从指定的字节数组写入到len字节,从偏移量off开始输出到此输出流

java public abstract void write(int b):将指定的字节输出流

注意:close方法,当完成流操作的时候,必须调用此方法,释放系统资源

java java.io.FileOutputStream extends OutputStream

FileOutputStream:文件字节输出流

作用:吧内存中的数据写入到磁盘的文件中

构造方法:

FileOutputStream(String name);创建一个向具有指定名称的文件中写入数据的输出文件流

FileOutputStream(File file);创建一个向指定File对象表示的文件中写入数据的文件输出流

参数:写入数据的目的

String name:目的地是一个文件的路径

File file:目的地是一个文件

构造方法的租偶用:

1.创建一个FileOutputStream对象

2.会根据构造方法中传递的文件/文件路径,创建一个空的文件

3.会把FileOutoutStream对象指向创建好的文件

最新文章

  1. visual studio 工具的使用
  2. jQuery Layer mobile 弹出层
  3. ORA-12154 & TNS-03505 案例分享
  4. 【POJ2096】Collecting Bugs 期望
  5. WPF学习笔记:MVVM模式下,ViewModel如何关闭View?
  6. python描述符descriptor(一)
  7. Es索引优化
  8. IOS设备设计完整指南(转载)
  9. 皴EBS R12应用程序和数据库用户password
  10. 我的android学习脚步----------- Button 和监听器setonclicklistener
  11. Spring boot+CXF开发WebService
  12. git正确的删除远程仓库的文件并用.gitignore忽略提交此文件
  13. 从零搭建 webpack3 环境 #1 - 安装使用
  14. tensorflow模型ckpt转pb以及其遇到的问题
  15. FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
  16. 转---redshift database ---学习
  17. Docker(五)如何构建Dockerfile
  18. JMeter执行压测输出HTML图形化报表(二)
  19. LeetCode(976. 三角形的最大周长)
  20. Css3实现波浪线效果1

热门文章

  1. 使用NE555实现的延时开关电路
  2. mybatis plus 使用 SQL 保留字(关键字)
  3. linux篇-linux mysql数据库定时备份
  4. AtCoder ABC 242 题解
  5. Ubuntu安装python固定版本
  6. 『忘了再学』Shell基础 — 30、sed命令的使用
  7. 开发工具-在线生成GUID
  8. re学习笔记
  9. 前端环境搭建nodejs%VScode
  10. SpringBoot整合SpringSecurityOauth2实现鉴权-动态权限