java IO流

一、流的概念

   流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。
   
   一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。
   
    流的方向是重要的,根据流的方向,流可分为两类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,而不能读它。
    
   实际上,流的源端和目的端可简单地看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读数据,而对输出流,也可不知道它的目的端,只是简单地往流中写数据。 
   
   形象的比喻——水流 ,文件======程序 ,文件和程序之间连接一个管道,水流就在之间形成了,自然也就出现了方向:可以流进,也可以流出.便于理解,这么定义流: 流就是一个管道里面有流水,这个管道连接了文件和程序。

IO流 —— BufferedWriter

1、字符流缓冲区:缓冲区的出现提高了对数据读写的效率。
2、对应类:
BufferedWriter
BufferedReader
3、缓冲区要结合流才可以使用;在流的基础上对流的功能进行了增强。
4、写入缓冲区: BufferedWriter
-java.io.Writer
-java.io.BufferedWriter 将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。
5、构造函数:
BufferedWriter(Writer out)
在创建缓冲区之前,必须要先有字符写入流对象。
6、特有方法:
该缓冲区中提供了一个跨平台的换行符: newLine();
该方法可以在任意平台下完成换行动作,而不需要我们根据平台的不同而使用不同的换行符。

二、流的分类

http://java.io包中的类对应两类流,一类流直接从指定的位置(如磁盘文件或内存区域)读或写,这类流称为结点流(node stream),其它的流则称为过滤器(filters)。过滤器输入流往往是以其它输入流作为它的输入源,经过过滤或处理后再以新的输入流的形式提供给用户,过滤器输出流的原理也类似。
Java的常用输入、输出流
http://java.io包中的stream类根据它们操作对象的类型是字符还是字节可分为两大类: 字符流和字节流。

Java的字节流
InputStream是所有字节输入流的祖先,而OutputStream是所有字节输出流的祖先。
Java的字符流
Reader是所有读取字符串输入流的祖先,而writer是所有输出字符串的祖先。
结合开始所说的输入/输出流 ,出现了个一小框架。 字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer

上传图片文件

https://blog.csdn.net/weixin_40848550/article/details/81359896

Java图片,视频上传,截取视频帧以及文件下载和视频IO获取

https://www.cnblogs.com/zhengbai/p/9969409.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值