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对象指向创建好的文件

IO概述(概念&分类)和字节输入流+OUTputStream类&FileOutPutStream类介绍的更多相关文章

  1. FileNameFilter过滤器的使用和Lambda优化程序--IO概述(概念&分类)

    FileNameFilter过滤器的使用和Lambda优化程序 public class Demo02Filter { public static void main(String[] args) { ...

  2. 一切皆为字节和字节输出流_OutputStream类&FileOutputStream类介绍

    一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使用什 ...

  3. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_04 IO字节流_1_IO概述(概念&分类)

  4. Java 之 字节输入流 [InputStream]

    一.字节输入流 java.io.InputStream 抽象类是表示字节输入流的所有类的超类,可以读取字节信息到内存中. 它定义了字节输入流的基本共性功能方法. 共性方法: public void c ...

  5. [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)

    一.概念及分类 InputStream(输入流)/OutputStream(输出流)是所有字节输入输出流的父类 [注]输入流和输出流的是按程序运行所在的内存的角度划分的 字节流操作的数据单元是8的字节 ...

  6. 36、IO流概述和分类

    IO流概述 IO流的主要作用是用来处理设备之间的数据传输,例如可以使用IO流将一台电脑硬盘里面的照片传输到另一台电脑上面,即将照片转换为字节,然后将字节传到另一台电脑上面,另一台电脑接收后,可以将这些 ...

  7. 字节输入流:io包中的InputStream为所有字节输入流的父类。

    字节输入流:io包中的InputStream为所有字节输入流的父类. Int read();读入一个字节(每次一个): 可先使用new  byte[]=数组,调用read(byte[] b) read ...

  8. Java基础知识强化之IO流笔记16:IO流的概述和分类

    1. IO流的分类   流向:     (1)输入流:读取数据到内存     (2)输出流:写入数据到硬盘(磁盘)   操作的数据类型:    (1)字节流:操作的数据是字节             ...

  9. IO初步,字节输入流和字节输出流

    字节输出流 OutputStream(基类,抽象) 特点:写任意的文件 方法:写出数据的方法:write write(int b) 写出1个字节 -128~127之间,写的是一个ASCLL码的值 wr ...

随机推荐

  1. GDB调试小白教程

    1.GDB是什么? 想必很多人都用过windows下各种编译器软件的调试功能,例如Visio Studio里面"断点"."开始调试"."逐语句&quo ...

  2. 594. Longest Harmonious Subsequence - LeetCode

    Question 594. Longest Harmonious Subsequence Solution 题目大意:找一个最长子序列,要求子序列中最大值和最小值的差是1. 思路:构造一个map,保存 ...

  3. 分布式下Session一致性问题

    一.Session一致性问题 1.1 什么是Session 用户使用网站的服务,基本上需要浏览器和web服务器进行多次交互,web服务器如何知道哪些请求是来自哪个会话的? 具体方式为:在会话开始时,分 ...

  4. 大数据分析——sklearn模块安装

    前提条件:numpy.scipy以及matplotlib库的安装 (注:所有操作都在pycharm命令终端进行) ①numpy安装 pip install numpy ②scipy安装 pip ins ...

  5. MySQL数据库和Oracle数据库的区别

    Mysql数据库 由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司.是一种中小型的关系型数据库. MySQL 数据库体积小.速度快.总体拥有成本低.开放源代码,其有着广泛的应用,一般中 ...

  6. 直观比较 popcount 的效率差异

    问题 求 \(\sum\limits_{i=1}^{3\times 10^8} popcount(i)\) . 仅考虑在暴力做法下的效率. 枚举位 __builtin_popcount #includ ...

  7. 深度学习与CV教程(6) | 神经网络训练技巧 (上)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  8. 浅析 2D 组态与 2.5D 组态的区别 | 空调装配生产线与化工安全流程

    前言 为了更有效辨别 2D 与 2.5D 之间的区别,图扑软件选用 2D 空调装配生产线与 2.5D 化工厂安全流程作比较.通过自主研发的 HT 产品,采用 B/S 架构快速搭建零代码拖拽式 Web ...

  9. 关闭StackExchange等平台的privacy收集窗口

    技术背景 当我们打开一个StackExchange页面的时候,经常会出现一个很大的privacy收集窗口,而且不管怎么点都关闭不了,比如像下图这样: 如果屏幕足够大,影响可能也不是很大,但是关键是对于 ...

  10. 领导:谁再用redis过期监听实现关闭订单,立马滚蛋!

    日前拜读阿牛老师的大作 领导:谁再用定时任务实现关闭订单,立马滚蛋! 发现其方案有若干瑕疵,特此抛砖引玉讨论一二. 在电商.支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时 ...