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

IO流的学习

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

IO流的学习

1.IO流的概述:用来进行设备间的数据传输问题

                                上传文件和下载文件

                        Java对数据的操作是通过流的方式

                        Java用于操作的对象都在IO包中

2、IO流的分类:

                流向: 输入流 读取数据

                            输出流 写出数据

                数据类型: 字节流

                                                字节流输入流 读取数据 InputStream

                                                 字节流输出流 写出数据 OutputStream

                                    字符流

                                                字符流输入流 读取数据 Reader

                                                字符流输出流 写出数据 Writer

        如果操作的数据是文本数据就用字符流,用Windows自带的记事本,能读懂就是用字符流,读不懂就用字节流,什么都不知道就用字节流

          注意:没有明确说明按哪种分类,默认按数据类型

3.OutputStream 该流是一个抽象类,不能实例化,找一个子类

        注意:每种基类的子类都是以父类名作为后缀名

                        XxxOutputStream

                        XxxInputStream

                        XxxReader

                        XxxWriter

        FileOutputStream的构造方法:

                        FileOutputStream(File file)

                        FileOutputStream(String name)

4.字节输出流操作步骤

                (1)创建字节流输出流对象

                                调用系统功能去创建文件

                                创建fos对象

                                把fos对象指向这个文件

                (2)写数据

                (3)释放资源 关闭此文件输出流并释放此流有关的所有系统资源

                                fos.close();

                为什么一定要.close();

                                让流对象变成垃圾,可以被垃圾回收器回收

                                通知系统去释放该文件相关的资源

5.字节流写数据的方式:

                public void write(int b)

                public void write(byte[] b)

                public void write(byte[] b ,int off,int len)

6.如何实现数据的换行

                写入换行符号 windows:rn

                                        Linux:n

                                        Mac:n

        常见高级记事本是可以识别任意换行符号的

7.如何实现数据的追加写入?(写入文件末尾,而不是文件的开始处)

        用构造方法第二个参数是turn的情况即可

        FileOutputStream fos=new FileOutputStream(“fos.tex”,turn);

8.字节输入流操作步骤

        (1)创建字节输入流对象

        (2)调用reader()方法读取数据,并把数据显示在控制台

                读取数据的方式:

                        int reader() 一次读取一个字节

                        int reader(byte[] b) 一次读取一个字节数组

        (3)释放资源

9.字节流复制文本文件

                数据源:从哪来

                目的地:到哪去

public static void main(String[] args) throws IOException {
		//封装数据源
		FileInputStream fis=new FileInputStream("a.txt");
		//封装目的地
		FileOutputStream fos=new FileOutputStream("b.txt");
		//复制数据
		//int by=0;
		//while((by=fis.read())!=-1) {
		//	fos.write(by);
		//}
		byte[] bys=new byte[1024];
		int len=0;
		while((len=fis.read(bys))!=-1) {
			fos.write(bys,0,len);
		}
		//释放资源
		fos.close();
		fis.close();
	}

10.计算机如何识别什么时候该把两个字节转化为一个中文呢?

        在计算机中文的存储分两个字节

                第一个字节肯定是负数

                第二个字节常见的是负数,可能有正数。但是没影响

11.字节缓冲流

        字节缓存输出流

                BufferedOutputStream(写)

        字节缓存输入流

                BufferedInputStream(读)

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

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

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