JAVA IO流 总结笔记

流的概述:

什么是流?
流是一组有序的数据序列,将数据从一个地方带到另一个地方。
流的特点:
流是一维的,流是单向的,对应的操作就是单向读取和单向写入。

java IO 流可以概括为“两个对应,一个桥梁”:
两个对应指字节流和字符流的对应,输入流和输出流的对应;
一个桥梁是指字节流到字符流的桥梁;
分别由以下4个抽象类来表示流:
InputStream
OutputStream
Reader
Writer

java中的字节流根据流向的不同,可以分为输入流和输出流;

字节输入流的父类是 InputStream,它是一个抽象类;

字节输出流的父类是 OutputStream,它也是一个抽象类;

字节流可以处理所有文件类型的数据(图片,视频,文本…)

抽象类必然需要它的子类的实现;

如图所示:
在这里插入图片描述

下面内容是这四个抽象类的基本使用和介绍:

一.字节流-FileInputStream

FileInputStream:
该流用于从文件读取数据,它的对象可以用关键字new来创建。有多种构造方法可用来创建对象;

1、可以使用字符串类型的文件名来创建一个输入流对象来读取文件:

	FileInputStream f=new FileInputStream("D:/SSS/xs.txt");

2.使用一个文件对象来创建一个输入流对象来读取文件:

File f=new File("D:/SSS/xs.txt");			
FileInputStream a2= new FileInputStream(f);

FileInputStream字节输入流常用的方法:

方法名称 方法描述
public int read() throws IOException{} 从FileInputStream对象读取1个字节的数据,返回值即为读取的数据,如果返回-1则代表读取到文件的结尾;
public int read(Byte b[]) throws IOException{} 从FileInputStream对象读取b.length个字节的数据,并存入字节数组b中,,返回值为读取字节数量,如果返回-1 则代表已经读取到文件的结尾;
public int read(Byte b[] , int off, int len) throws IOException{} 从FileInputStream对象读取指定len个字节的数据,并从字节数组b的off位置存入字节数组b中,返回值为读取字节数量,如果返回-1 则代表已经读取到文件的结尾;
public void close() throws IOException{} 关闭此文件输入流并释放与此流有关的所有系统资源。抛出IOException异常;

代码演示:
读取一个TXT文本中的所有内容

public static void main(String[] args) {
   
		
		FileInputStream f =null;
		//用字符串类型的文件名构建一个FileInputStream
		try {
   
			f=new FileInputStream("D:/sss/xs.txt");
			
			byte[] b=new byte[1024];	//每次读取1024字节的数据
			int n= -1;
			String str="";
			while ((n = f.read(b))> -1) {
   //括号优先级,先给n赋值再进行比较
				
				str = new String(b,0,n);	//字符串接收
				System.out.println(str);	//输出
				
			}
		}catch (FileNotFoundException e) {
   
			System.err.println("找不到这个文件");
	
		}catch (IOException e) {
   
			System.err.println("读取文件出现问题");
			
		}finally {
   		//关闭流
			try {
   
				f.close();
			} catch (IOException e) {
   
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值