字节流

20 字节流、字符流

。_饼干妹妹 提交于 2020-02-06 05:27:58
第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input 和 输出output ,即流向内存是输入流,流出内存的输出流。 Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。 输入 也叫做 读取 数据, 输出 也叫做作 写出 数据。 1.2 IO的分类 根据数据的流向分为: 输入流 和 输出流 。 输入流 :把数据从 其他设备 上读取到 内存 中的流。 输出流 :把数据从 内存 中写出到 其他设备 上的流。 根据数据的类型分为: 字节流 和 字符流 。 字节流 :以字节为单位,读写数据的流。 字符流 :以字符为单位,读写数据的流。 1.3 IO的流向说明图解 1.4 顶级父类们 输入流 输出流 字节流 字节输入流 InputStream 字节输出流 OutputStream 字符流 字符输入流 Reader 字符输出流 Writer 第二章 字节流 2.1 一切皆为字节 一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存

Java IO字符流

半腔热情 提交于 2020-02-06 01:58:42
字符流 当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储(如:"学生"两个字占用了四个字节)。所以Java提供一些字符流类,以字符为单位读写数据专门用于处理文本文件。 字符输入流 —— Reader java.io.Reader抽象类是表示用于读取字符流的所有类的超类,可以读取字符信到内存中。它定义了字符输入流的基本共性功能方法。 public void close() // 关闭此流并释放与此流相关联的任何系统资源。 public int read() // 从输入流读取一个字符。 public int read(char[] chars) // 从输入流中读取一些字符,并将它们存储到字符数组chars中。 FileReader类 java.io.FileReader类是读取字符文件的便利类。构造时使用系统默认的字符编码和默认字节缓冲区。 构造方法: FileReader(File file) // 刨建一个新的FileReader,给定要读取的File对象。 Filereader( String filename) // 创建一个新的 FileReader,给定要读取的文件的名称。 举例: 字符输入流Reader,类似于字节输入流InputStream。字符输入流一单个字符为单位

Java 常用IO流操作详解-34

限于喜欢 提交于 2020-01-31 17:37:17
1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。 2.IO流的分类 图示:(主要IO流) 3.字节流 (1).字节流基类 1).InputStream InputStream:字节输入流基类,抽象类是表示字节输入流的所有类的超类。 常用方法: // 从输入流中读取数据的下一个字节 abstract int read() // 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b中 int read(byte[] b) // 将输入流中最多 len 个数据字节读入 byte 数组 int read(byte[] b, int off, int len) // 跳过和丢弃此输入流中数据的 n个字节 long skip(long n) // 关闭此输入流并释放与该流关联的所有系统资源 void close() 2).OutputStream OutputStream:字节输出流基类,抽象类是表示输出字节流的所有类的超类。 常用方法: // 将 b.length 个字节从指定的 byte 数组写入此输出流 void write(byte[] b) // 将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流 void write(byte[] b, int off,

day09【字节流、字符流】

天大地大妈咪最大 提交于 2020-01-28 06:16:53
day09【字节流、字符流】 主要内容 IO流 字节流 字符流 异常处理 Properties 教学目标 能够说出IO流的分类和功能 能够使用字节输出流写出数据到文件 能够使用字节输入流读取数据到程序 能够理解读取数据read(byte[])方法的原理 能够使用字节流完成文件的复制 能够使用FileWirter写数据到文件 能够说出FileWriter中关闭和刷新方法的区别 能够使用FileWriter写数据的5个方法 能够使用FileWriter写数据实现换行和追加写 能够使用FileReader读数据 能够使用FileReader读数据一次一个字符数组 能够使用Properties的load方法加载文件中配置信息 第一章 IO概述 1.1 什么是IO 生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。 我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input 和 输出output ,即流向内存是输入流,流出内存的输出流。 Java中I/O操作主要是指使用 java.io 包下的内容,进行输入、输出操作。 输入 也叫做 读取 数据, 输出 也叫做作 写出 数据。 1

Java 之 数据IO流-DataInputStream

江枫思渺然 提交于 2020-01-26 21:07:25
一、DataInputStream概述   数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。 二、构造方法 DataInputStream(InputStream in)       使用指定的底层 InputStream 创建一个 DataInputStream 三、常用方法   常用方法列表: int read(byte[] b) : 从包含的输入流中读取一定数量的字节,并将它们存储到缓冲区数组 b 中。 int read(byte[] b, int off, int len):从包含的输入流中将最多 len 个字节读入一个 byte 数组中。 boolean readBoolean() : 读取一个输入字节,如果该字节不是零,则返回 true,如果是零,则返回 false。 byte readByte():读取并返回一个输入字节。 char readChar() :读取两个输入字节并返回一个 char 值。 double readDouble(): 读取八个输入字节并返回一个 double 值。 float readFloat():读取四个输入字节并返回一个 float 值。 void readFully(byte[] b):从输入流中读取一些字节,并将它们存储在缓冲区数组 b 中。

java基础-IO流

大憨熊 提交于 2020-01-26 03:19:57
IO流概述及其分类 * IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流。 * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便。 IO流常用父类 * 字节流的抽象父类: * InputStream * OutputStream * 字符流的抽象父类: * Reader * Writer IO程序书写 * 使用前,导入IO包中的类 * 使用时,进行IO异常处理 * 使用后,释放资源 FileInputStream * read()一次读取一个字节 * FileInputStream fis = new FileInputStream("aaa.txt"); //创建一个文件输入流对象,并关联aaa.txt int b; //定义变量,记录每次读到的字节 while((b = fis.read()) != -1) { //将每次读到的字节赋值给b并判断是否是-1 System.out.println(b); //打印每一个字节 } fis.close(); //关闭流释放资源 read()方法返回值为什么是int read()方法读取的是一个字节,为什么返回是int

java基础——IO流

寵の児 提交于 2020-01-26 03:19:18
###20.01_IO流(IO流概述及其分类) * 1.概念 * IO流用来处理设备之间的数据传输 * Java对数据的操作是通过流的方式 * Java用于操作流的类都在IO包中 * 流按流向分为两种:输入流,输出流。 * 流按操作类型分为两种: * 字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的 * 字符流 : 字符流只能操作纯字符数据,比较方便。 * 2.IO流常用父类 * 字节流的抽象父类: * InputStream * OutputStream * 字符流的抽象父类: * Reader * Writer * 3.IO程序书写 * 使用前,导入IO包中的类 * 使用时,进行IO异常处理 * 使用后,释放资源 ###20.02_IO流(FileInputStream) * read()一次读取一个字节 * FileInputStream fis = new FileInputStream("aaa.txt"); //创建一个文件输入流对象,并关联aaa.txt int b; //定义变量,记录每次读到的字节 while((b = fis.read()) != -1) { //将每次读到的字节赋值给b并判断是否是-1 System.out.println(b); //打印每一个字节 } fis.close(); //关闭流释放资源 ###20

JavaSE学习总结第20天_IO流2

杀马特。学长 韩版系。学妹 提交于 2020-01-26 03:08:57
20.01 递归概述和注意事项 递归:方法定义中调用方法本身的现象 递归注意事项: 1.要有出口,否则就是死递归 2.次数不能太多,否则就内存溢出 3.构造方法不能递归使用 20.02 递归求阶乘的代码实现及内存图解 例: 1 public class Practice 2 { 3 public static void main(String[] args) 4 { 5 System.out.println(jieCheng(5)); 6 } 7 public static int jieCheng(int i) 8 { 9 if(i == 1) 10 return 1; 11 else 12 return i * jieCheng(i - 1); 13 } 14 } 20.03 不死神兔问题案例 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第二十个月的兔子对数为多少? 第1个月:1 第2个月:1 第3个月:2 第4个月:3 第5个月:5 第6个月:8 ... 由此可见兔子对象的数据是:1,1,2,3,5,8... 规则:A:从第三项开始,每一项是前两项之和 B:而且说明前两项是已知的 1 public class Practice 2 { 3 public static void main(String[] args

【Java基础】常用IO流的基本用法演示(持续更新)

主宰稳场 提交于 2020-01-25 02:29:55
文章目录 常用IO流 FileInputStream——FileOutputStream FileReader——FileWriter BufferedInputStream——BufferedOutputStream BufferedReader——BufferedWriter ByteArrayInputStream——ByteArrayOutputStream CharArrayReader——CharArrayWriter StringReader——StringWriter InputStreamReader——OutputStreamWriter ObjectInputStream——ObjectOutputStream PrintStream PrintWriter ZipInputStream——ZipOutputStream SequenceInputStream 常用IO流 类型 说明 文件流 对文件进行读、写操作 :FileReader、FileWriter、FileInputStream、FileOutputStream 缓冲流 在读入或写出时,数据可以基于缓冲批量读写,以减少I/O的次数:BufferedReader、BufferedWriter、BufferedInputStream、BufferedOutputStream 内存流 1.从

Java中的IO流(一)

本秂侑毒 提交于 2020-01-24 05:06:45
Java中的IO流(一): https://blog.csdn.net/Veer_c/article/details/103833045 Java中的IO流(二): https://blog.csdn.net/Veer_c/article/details/103833423 Java中的IO流(三): https://blog.csdn.net/Veer_c/article/details/103833811 IO流分类: IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。 根据流向可分为:输入流、输出流 根据数据类型可分为: 字节流:字节输入流、字节输出流 字符流:字符输入流、字符输出流 注意:一般我们在讨论IO的分类时,默认是按照数据类型分的。 字节流: 字节输入流 InputStream(抽象类) 字节输出流 OutputStream(抽象类) 字符流: 字符输入流 Reader 字符输出流 Writer 需求:请用字节流往一个文本文件中写一句话:”helloworld”。 分析: 首先要知道是字节流,写数据我们就应该知道是字节输出流,所以最终选择了OutputStream,而OutputStream是抽象类,所以我们应该找其子类,文件这个单词是File,所以就大胆的猜测下