浅谈InputStream

本文介绍了Java中的InputStream,阐述了流的原理,详细讲解了InputStream的含义,并探讨了其主要子类,包括FileInputStream、BufferInputStream、InputStreamReader和ByteArrayInputStream等,重点解释了缓冲流在提高效率上的作用。
摘要由CSDN通过智能技术生成

前言

网络传输方面总会碰到将某种格式的文本或者图片等转换成数据流的方式来传输,那到底是怎样一种原理呢?

何为InputStream

流的释义

编程语言的I/O类库中经常使用流这个抽象概念,它代表任何有能力产出数据的数据源对象,或者有能力接收数据的接收端对象。

InputStream的释义

用来表示从不同数据源产生输入的类,数据源包括:字节数组,String对象,文件,“管道”,流序列,Internet链接等。

OutputStream的释义

该类别决定了输出所要去往的目标,包括:字节数组,文件,“管道”。

InputStream类以及其子类

InputStream是一个输入流的标准,其下有众多子类适用不同的环境。

主要的子类:

1、FileInputStream:把一个文件作为InputStream,实现对文件的读取操作
2、ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用
3、StringBufferInputStream:把一个String对象作为InputStream
4、PipedInputStream:实现了pipe的概念,主要在线程中使用
5、SequenceInputStream:把多个InputStream合并为一个InputStream

FileInputStream

FileInputStream可以对文件进行数据流的转换。

String fileName  = "E:\\电影\\[高清电影]";
InputStream  inputstream  = new  FileInputStream("fileName");
//然后对InputStream 进行读操作,为什么是读呢?可以把内存当作主体,你从硬盘往内存里Input 东西就是读取数据。另外这里因为FileInputStream继承InputStream 类
//所以可以这样用
byte[]  by = new byte[8192];//此数字不唯一

     int len ;

     while(   (len=inputStream.read(by))!=-1  ){
    //len就是得出的字节流了

                 }

     inputStream.close();//最后别忘记关闭,当然应该还有个if判断是否为空和try  catch 的语句

    File f = new File("F:\\……"); 

    if (!f.exists()) {
    
    System.out.println("creat " + f.toString()); 

      f.createNewFile()
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值