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

【java基础】13-IO流(1)

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

【java基础】13-IO流(1)

1.IO的概述


要点

1. IO流的理解(数据在不同的设备之间流动,例如:内存,硬盘,) 硬盘可以持久化存储.

​			读取文件内容
​			 写入文件

2.输入流,输出流以什么为参照?? 
		以内存为标准
		读取文件(硬盘---->内存)  输入流
		写入文件(内存----->硬盘) 输出流
2.IO的分类


3.字节流-字节输出流快速入门


要点

1. 流体系
    字节流
    ​		输入流 InputStream(抽象)
    ​		输出流 OutputStream(抽象)
                  FileOutputStream 具体类
    ​字符流
    ​		输入流 Reader
    ​		输出流 Writer 
2. 流的构造方法
    		FileOutputStream(String/File)
3. 流的大体操作步骤(1.创建流(new) 2.操作流(读/写). 3.关闭流(close))
4.字节流-注意事项

5.字节流–一次写多个数据

写数据的方法分类

方法名说明
void write(int b)将指定的字节写入此文件输出流 一次写一个字节数据
void write(byte[] b)将 b.length字节从指定的字节数组写入此文件输出流 一次写一个字节数组数据
void write(byte[] b, int off, int len)将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流 一次写一个字节数组的部分数据

代码示例

public class FileOutputStreamDemo02 {
    public static void main(String[] args) throws IOException {
        //FileOutputStream(String name):创建文件输出流以指定的名称写入文件
        FileOutputStream fos = new FileOutputStream("myByteStream\fos.txt");
        //FileOutputStream(File file):创建文件输出流以写入由指定的 File对象表示的文件
//        FileOutputStream fos = new FileOutputStream(new File("myByteStream\fos.txt"));

        //void write(int b):将指定的字节写入此文件输出流
//        fos.write(97);
//        fos.write(98);
//        fos.write(99);
//        fos.write(100);
//        fos.write(101);

//        void write(byte[] b):将 b.length字节从指定的字节数组写入此文件输出流
//        byte[] bys = {97, 98, 99, 100, 101};
        //byte[] getBytes():返回字符串对应的字节数组
        byte[] bys = "abcde".getBytes();
//        fos.write(bys);

        //void write(byte[] b, int off, int len):将 len字节从指定的字节数组开始,从偏移量off开始写入此文件输出流
//        fos.write(bys,0,bys.length);
        fos.write(bys,1,3);

        //释放资源
        fos.close();
    }
}
6.字节流–两个问题



要点

    字节输出流的追加写入
    写入换行符
System.lineSeparator(); //返回系统换行符
7.字节流-try…catch捕获异常

异常处理格式

try-catch-finally

	    try{
			可能出现异常的代码;    
		}catch(异常类名 变量名){
			异常的处理代码;
		}finally{
			执行所有清除操作;
		}

finally特点

被finally控制的语句一定会执行,除非JVM退出

代码示例

public class FileOutputStreamDemo04 {
    public static void main(String[] args) {
        //加入finally来实现释放资源
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream("myByteStream\fos.txt");
            fos.write("hello".getBytes());
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if(fos != null) {
                try {
                    fos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
8.字节流–小结


要点

1.流体系
	OutputStream: 写入字节
	构造方法:		
	FileOutputStream(String/File)
	成员方法:
	1 void write(int b) 一次写一个字节数据
    2 void write(byte[] b) 一次写一个字节数组数据
	3 void write(byte[] b, int off, int len) 一次写一个字节数组的部分数据		
	4 close(); 关闭流,释放资源
			
	InputStream: 读取字节
	构造方法:
	FileInputStream(String/File)
		
2.流的操作步骤
    创建流
    操作流
    关闭流
9.字节流–字节输入流基本学习

10.字节流-读多个字节(循环读取)

11.字节流–文件复制


12.字节流-定义小数组拷贝

核心方法

13.字节流-小数组拷贝原理

14.缓冲流-一次读写一个字节代码实现



要点

	理解下缓冲流
​				缓冲流 = 基本流 + 缓冲区
​			    效率高

​       缓冲流的构造方法
				BufferedInputStream(InputStream in):默认缓冲区大小
				BufferedOutputStream(OutputStream out)
        方法和普通流一样

代码示例

//1. 创建对象
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(原始文件路径));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(目标文件路径));
//2. 读写数据
int b;
while((b = bis.read())!=-1){
    bos.write(b);
}
//3. 释放资源
bis.close();
bos.close();
15.缓冲流-一次读写一个字节原理

16.缓冲流-一次读写一个字节数组原理

17.字节流小结
1.流的体系

	InputStream(抽象类): 读取
	
	构造方法:
			
	FileInputStream(String/File)
	BufferedInputStream(InputStream):高效流 = 基础流  + 缓冲区
	
	成员方法:
	
	1 int read() 一次读一个字节数据
	2 int read(byte[] b) 一次读一个字节数组数据 

	OutputStream(抽象类):写入
	
	构造方法:
	
	FileOutputStream(String/File)
    BufferedOutputStream(OutputStream):高效流 = 基础流 + 缓冲区
    
	成员方法:
	
	1 void write(int b) 一次写一个字节数据
    2 void write(byte[] b) 一次写一个字节数组数据
	3 void write(byte[] b, int off, int len) 一次写一个字节数组的部分数据		
	4 close(); 关闭流,释放资源
					
2.流的操作步骤

   1.创建流
   2.操作流(读取/写入)
   3.释放资源
   
3.拷贝文件的四种方式
   
   	字节流复制任意文件,一次读写一个字节
    字节流复制任意文件,一次读写一个字节数组
    字节缓冲流复制任意文件,一次操作一个字节
    字节缓冲流复制任意文件,一次操作一个字节数组

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

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

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