![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java IO
IT大头冰
不断学习,不断进步
展开
-
(一)InputStream与OutputStream
InputStream源码package java.io;public abstract class InputStream implements Closeable { //可以跳过的最大的字节数 private static final int MAX_SKIP_BUFFER_SIZE = 2048; public abstract int read() throws原创 2017-11-28 14:24:31 · 219 阅读 · 0 评论 -
(二)ByteArrayInputStream与ByteArrayOutputStream
ByteArrayInputStream类源码package java.io;public class ByteArrayInputStream extends InputStream { //输入源 protected byte buf[]; //下一个读取的数组下标 protected int pos; //记录要恢复的下标 prote原创 2017-11-28 14:48:40 · 371 阅读 · 0 评论 -
(三)BufferedInputStream源码学习
package java.io;import java.util.concurrent.atomic.AtomicReferenceFieldUpdater;publicclass BufferedInputStream extends FilterInputStream { private static int defaultBufferSize = 8192; //缓冲区原创 2017-11-29 15:41:37 · 215 阅读 · 0 评论 -
(四)BufferedOutputStream源码学习
/* * Copyright (c) 1994, 2003, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * *原创 2017-11-29 16:25:35 · 181 阅读 · 0 评论 -
(五)PipedInputStream与PipedOutputStream
PipedInputStream与PipedOutputStream需要配套使用,用于同一个进程之间不同线程的通信。 首先先看一下PipedOutputStream源码//内部持有一个PipedInputStream的引用,通过connect()将两者绑定在一起,当然通过PipedInputStream.connect也可以进行绑定,效果都是一样的,后面可以看到。private Piped原创 2017-12-03 15:00:19 · 342 阅读 · 0 评论 -
(六)DataInputStream与DataOutputStream
DataOutputStream与DataInputStream用于输出/输入基本数据类型,方便用户操作,需要一个输入流作为构造函数参数。 输入时需要按输出的顺序,有序读取对应类型的数据,否则可能出错。 输出时,按Java基本数据类型的存储长度拆分成相应长度的字节数组,然后进行存储。 输入时,读取对应数据类型的存储长度的字节数组,在根据位移组合在一起,返回给用户。 基本类型的宽转化和原创 2017-12-03 15:30:30 · 287 阅读 · 0 评论 -
(八)InputStreamReader及OutputStreamWriter
InputStreamReader的作用就是将字节输入流变为字符输入流,底层的实现是靠StreamDecoder完成的。public class InputStreamReader extends Reader { private final StreamDecoder sd; public InputStreamReader(InputStream in) { sup原创 2017-12-04 15:10:33 · 755 阅读 · 1 评论 -
(九)字符输入流/输出流
CharArrayReader/CharArrayWriter与ByteArrayInputStream/ByteArrayOutputStream原理类似,不涉及真正的I/O操作,对内部提供一个char数组,所有读/写操作都针对这个数组进行。 BufferedReader与BufferedWriter与BufferedInputStream/BufferedOutPutStream原理原创 2017-12-04 11:18:07 · 229 阅读 · 0 评论