Java当中的IO一
1.IO操作的目标
什么是IO操作的目标?
输入:
从数据源当中读取数据
输出:
将数据写入到数据目的地当中
有数据进入到程序当中,这个过程就可以被叫做输入
流:即在数据源与程序之间建立的传输通道
2.IO的分类方法
IO的分类:
第一种分法:
1.输入流
2.输出流
第二种分法:
1.字节流:即读取数据时,以字节为基础,每次读取几个字节
2.字符流:即每次读取一个字符
第三种分法:
1.节点流:即正真处理数据的IO流(普通的水管)
2.处理流:即用来在节点流的基础上,对数据进行再加工(普通的水管外套一层处理层)
IO当中的字节流的核心类:
InputStream和OutputStream是所有字节流的父类
InputStream和OutputStream都是抽象类
3.读取文件和写入文件的方法
读取数据的方法:
InputStream:
Int read(byte[] b,int off ,int len);
read()从硬盘的文件当中读取数据,以字节的形式把数据读进来,读取的数据保存在byte[] b这个数组当中
int off:为偏移量,读进来的数据从这个数组的第几位开始放
Int len:读取一次最多读多少数据
返回值是这一次调用read()方法总共读取了多少字节的数据
写入数据的方法:
OutputStream:
void write(byte[] b,int off,int len);
byte[] b:要文件里面写的数据
int off:从数组的第几位开始往文件里面写
Int len:一次一共要往文件里面写多少位数据
使用过程:
注意:在文件读数据流时候需要对FileInputStream的FileNotFoundException进行捕捉抛出,否则编译将不通过(checked Exception),如下图
注意:在此数据流中读取数据字节,需要抛出一个IOException,否则编译将不通过(checked Exception)如下图
读数据示例:
/*****************************************************************/
总结:
1.IO系统的主要目标是为了对数据进行读写操作;
2.数据的流向以Java程序为参照物
3.IO流可以有三种分类方法;
4.read方法和write方法;
Java当中的IO一的更多相关文章
- 第55节:Java当中的IO流-时间api(下)-上
Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...
- 第54节:Java当中的IO流(中)
Java当中的IO流(中) 删除目录 // 简书作者:达叔小生 import java.io.File; public class Demo{ public static void main(Stri ...
- 第53节:Java当中的IO流(上)
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...
- 第39节:Java当中的IO
Java当中的IO IO的分类 第一种分:输入流和输出流 第二种分:字节流和字符流 第三种分:节点流和处理流 节点流处理数据,处理流是节点流基础上加工的. IO中的重点: InputStream Ou ...
- Java当中的IO流-时间api(下)-上
Java当中的IO流(下)-上 日期和时间 日期类:java.util.Date 系统时间: long time = System.currentTimeMillis(); public class ...
- Java当中的IO流(中)
Java当中的IO流(中) 删除目录 import java.io.File; public class Demo{ public static void main(String[] args){ / ...
- Java当中的IO流(上)
Java当中的IO流 在Java中,字符串string可以用来操作文本数据内容,字符串缓冲区是什么呢?其实就是个容器,也是用来存储很多的数据类型的字符串,基本数据类型包装类的出现可以用来解决字符串和基 ...
- Java当中的IO三
1.处理流的使用实例 bufferedReader(处理流)介绍: buffereReader属于字符流,其次也是处理流,也是输入流,即字符输入处理流 常用方法 readLine() Buffered ...
- Java当中的IO二
1.大文件的读写方法 由于文件很大,我们不能一下子把文件内的所有内容都读取出来,所以只能一段一段的读取 注意:在关闭read()和write()的时候可能会产生IOException,需要对其进行处理 ...
随机推荐
- Nginx反向代理、负载均衡、动静分离、缓存、压缩、防盗链、跨域访问
一.反向代理 1.在192.168.189.130机器启动tomcat服务,http://192.168.189.130:8080/ 访问服务正常 2.在192.168.189.131机器配置ngin ...
- 第十节:基于MVC5+Unity+EF+Log4Net的基础结构搭建
一. 前言 本节继续探讨一种新的框架搭建模式,框架的结构划分和上一节是相同的,本节IOC框架换成了Unity,并且采用构造函数注入的方式,另外服务层的封装模式也发生了变化,下面将详细的进行探讨. (一 ...
- IP、端口及远程服务器
- XXE漏洞学习
0x00 什么是XML 1.定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声明.DTD文 ...
- python模块 - pywinauto(windows自动化安装软件)
GUI 窗口查询工具 spy++lite pywinauto 模块 原理: https://www.cnblogs.com/testlife007/p/4710599.html pywhinayto ...
- Stm32复习之时钟系统
地点:南图 这部分的内容是整个STM32学习知识的核心,不管是什么微控制器处理器,时钟系统都是其核心类似于人之心脏,因此学好理解这一章节至关重要. 为了便于理解这一系统,将从以下几个层次来讲.(忘了是 ...
- springboot上传文件 & 不配置虚拟路径访问服务器图片 & springboot配置日期的格式化方式 & Springboot配置日期转换器
1. Springboot上传文件 springboot的文件上传不用配置拦截器,其上传方法与SpringMVC一样 @RequestMapping("/uploadPicture&q ...
- Eclipse 搭建 Strust2开发环境
一.创建一个动态Web项目 ♦ 注意 :一定要勾选Generate Web.xml deployment descriptor 选项,这个将在Eclipse为你创建一个动态web项目. 二.导入相关 ...
- IEnumerable<T>和IQueryable<T>区别
LINQ查询方法一共提供了两种扩展方法,在System.Linq命名空间下,有两个静态类:Enumerable类,它针对继承了IEnumerable<T>接口的集合进行扩展:Queryab ...
- 【转载】Vue自定义指令实现pc端加载更多
转载来源:https://www.86886.wang/detail/5a6f19e644f9da55274c3bbd,谢谢作者分享! 原理 document.documentElement.scro ...