
java基础
Dan淡淡的心
一名普通的java开发.
个人博客地址: https://blog.luhua.site
展开
-
抽象类InputStream
首先来说一下InputStaram类是一个抽象类,不可以实例化(抽象类为什么不能实例化自行百度),java.io.InputStream类实现了Closeable接口 重写了close()方法;但实际上close方法体是空的,具体的实现方法是有其子类实现的;再说其read方法是一个抽象方法但其重载方法以及skip方法都是通过调用该抽象方法实现自己的的功能的,子类不再重写;java.io.I...原创 2019-04-09 13:17:48 · 1095 阅读 · 0 评论 -
内存流(字节数组流)——ByteArrayInputStream、ByteArrayOutputStream
内存流(字节数组流)——主要用于将数据写入内存或者从内存中读取数据;我们知道,流操作主要用于读写文件或者是网络传输,而实际开发中经常遇到将数据存入磁盘的缓存操作,那么是否可以将缓存写入内存呢?因为内存的操作速度是远大于磁盘的!答案是有的,那就是内存流!例:将字节数组写入内存 public static void main(String[] args) throws IOExcepti...原创 2019-04-21 11:37:21 · 5873 阅读 · 5 评论 -
管道流(线程流)——PipedInputStream、PipedOutputStream
线程流,顾名思义就是在线程之间传输数据的流。主要用途自然就是用于线程之间通讯。线程流必须输入输出一起使用只使用一个会抛出 java.io.IOException: Pipe not connected而且也不能一个对应多个 只能一对一,一对多会抛出java.io.IOException: Already connected;例:import java.io.IOExceptio...原创 2019-04-21 14:46:23 · 1230 阅读 · 0 评论 -
字符管道流(线程流)——PipedReader、PipedWriter
字符管道流(线程流)——PipedReader、PipedWriter。管道流(线程流)的升级版!,主要用途也是在线程间通讯,不过这个可以用来传输字符;具体可以参考管道流(线程流)——PipedInputStream、PipedOutputStream。这里就不做演示了,以下是字符管道流源码:PipedReader:/* * Copyright (c) 1996, 2013, Orac...原创 2019-04-21 15:10:40 · 1192 阅读 · 0 评论 -
任意流(随机流)——RandomAccessFile
任意流(随机流)——RandomAccessFile。可以在文件的任何位置开始读写!与其他流不一样,这个流是独立于其他IO家族之外的,并不继承与InputStream、OutputStream而是直接继承于Object,但他是IO包中的,因为它支持IO操作。RandomAccessFile有四种操作文件模式:‘r’ 以只读方式打开。如果读取的文件不存在则会出现异常,调用结果对象的任何...原创 2019-04-21 16:39:34 · 1504 阅读 · 0 评论 -
回滚流(回退流)——PushbackInputStream
回滚流——PushbackInputStream,可以将数据重新推入流中,然后再重新读出。很多人说这个类是为了将不需要的数据重新推入流中,我个人觉得,这样解释并不合理,不需要的数据之间丢掉不就好了嘛!干嘛还要压回去!个人认为,回滚流主要用于在读取数据时,不确定自己需要读取多少数据时来使用。比如我之前的博客,(H.264视频码流解析)在解析h264文件时确定NAL的位置,NAL 的位置不确定,长...原创 2019-04-21 17:21:16 · 2183 阅读 · 0 评论