栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-IO流

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-IO流

 当当当当~~~~欢迎大家阅读,今天我们一起来学习IO流

一、IO流概述

IO:输入、输出(Input/Output)

流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传输。

二、IO流的分类 (一)按照数据的流向

输入流:读数据

输出流:写数据

(二)按照数据类型分类

(一般来说,我们说IO流的分类是按照数据类型来分的)

(1)字节流

字节流抽象基类:

InputStream:这个抽象类是表示字节输入流的所有类的超类

OutputStream:这个抽象类是表示字节输出流的所有类超类

(2)字符流

InputStreamReader:FileReader

OutputStreamWriter:FileWriter

三、字节流

(一)字节输出流(字节流写数据) (1)字节流写数据的三种方式

(2)字节流写数据的两个小问题

(2.1)字节流写数据如何实现换行
使用换行符(不同的操作系统对换行符号识别是不一样的)  ( window:rn, linux:n,mac:r)

(2.2)字节流写数据如何实现追加写入public FileOutputStream(String name,boolean append)
  创建文件输出流以指定的名称写入文件
  如果第二个参数为true,则字节将写入文件的末尾而不是开头

(3)字节流写数据加异常处理操作

(二)字节输入流(字节流读数据)  (1)一次读一个字节数据 (2)一次读一个字节数组数据 (3)使用字节输入流读数据的步骤

创建字节输入流对象

调用字节输入流对象的读数据方法

释放资源

(三)字节缓冲流  (1)BufferOutputStream:缓冲输出流

       该类实现缓冲输出流。通过设置这样的输出流,应用程序可以向底层输出流写入字节,而不必为写入的每个字节导致底层系统的调用。

(2)BufferedInputStream:缓冲输入流

        创建BufferedInputStream将创建一个内部缓冲数组。当从流中读取或跳过字节时,内部缓冲区将根据需要从所包含的输入流中重新填充,一次有很多字节

四、字符流

 

(一)为什么出现字符流

(1)由于字节流操作中文不是特别的方便,所以Java就提供字符流

(2)用字节流复制文本文件时,文本文件也会有中文,但是没有问题,原因是最终底层操作会自动进行字节拼接成中文。

(3)如何识别是中文呢?

汉字在存储的时候,无论选择哪种编码存储,第一个字节都是负数

(二)编码表 (1)概念

按照某种规则,将字符存储到计算机中,称为编码。反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。

(2)注意事项

按照A编码存储,必须按照A编码解析,这样才能显示正确的文本符号。否则就会导致乱码现象

(3)字符集

是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等, 计算机要准确的存储和识别各种字符集符号,就需要进行字符编码,一套字符集必然至少有一套字符编码。常见字符集有ASCII字符集、GBXXX字符集、Unicode字符集等

(三)字符流写数据的五种方式

(四)字符流读数据的2种方式

(五)字符缓冲流 (1)BufferedWriter

将文本写入字符输出流,缓冲字符,以提供单个字符,数组和字符的高效写入,可以指定缓冲区大小,或者可以接受默认大小。默认值足够大,可用于大多数用途

(2)构造方法

BufferedWriter( Writer out);

(3)BufferedReader

从字符输入流读取文本,缓冲字符,以提供字符,数组和行的高效读取,可以指定缓冲区大小,或者可以使用默认大小。默认值足够大,可用于大多数用途

(4)构造方法

BufferedReader(Reader in)

(5)字符缓冲流特有功能

void newline( ):写一个行分隔符,行分隔符字符串由系统属性定义

public String readLine( ):读一行文字,结果包含行的内容的字符串,不包括任何行终止字符,如果流的结尾已经到达,则为null

以上就是IO流中的内容啦,希望我的文章对你有所帮助,如果有错误的地方还望大家批评指正,谢谢大家阅读!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666054.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号