java io
czj4451
这个作者很懒,什么都没留下…
展开
-
FileInputStream 源码分析
java.io.FileInputStream是从文件系统中获取一个文件的原始字节。如果要读取字符流,可以用java.io.FileReader。[code="java"]public class FileInputStream extends InputStream { private FileDescriptor fd; private FileChannel ch...原创 2012-05-29 10:53:05 · 180 阅读 · 0 评论 -
Netty系列之一:回显服务端和客户端
Netty是一款基于Java NIO的框架,能够建立通道、处理事件、编解码和异常处理等,为上层应用提供了清晰、简洁的开发接口:减少用户的编码和错误,使应用开发者能够把注意力集中在业务逻辑上。下面以回显功能为例:[size=medium][color=brown]一、服务端:[/color][/size][size=medium]1. 实例化引导类[/size]抽...原创 2014-09-02 22:26:10 · 367 阅读 · 0 评论 -
File 类源代码解析
[size=medium]1. 分隔符[/size][code="java"] // 名称分隔符,Windows系统为反斜杠'\\',Linux系统为斜杠'/' public static final char separatorChar = fs.getSeparator(); // 名称分隔字符串 public static final St...原创 2013-10-12 17:01:24 · 342 阅读 · 0 评论 -
Java IO 总结
[color=blue]1.[/color] Java的IO运用了[b]装饰者模式[/b],提供了一个称做链接(Chaining)的机制,可以将一个流处理器跟另一个流处理器首尾相接,以其中之一的输出为输入,形成一个流管道的链接,如:[code="java"]BufferedInputStream bis = new BufferedInputStream(new FileInputStre...原创 2013-01-17 17:05:09 · 105 阅读 · 0 评论 -
StringReader 源码分析
[code="java"]public class StringReader extends Reader { private String str; private int length; private int next = 0; private int mark = 0; // 创建一个新字符串 reader public ...原创 2012-07-12 18:00:35 · 107 阅读 · 0 评论 -
OutputStreamWriter 源码分析
字符流通向字节流的桥梁:可使用指定的charset将要写入流中的字符编码成字节。为了获得最高效率,可考虑将 OutputStreamWriter 包装到 BufferedWriter 中,以避免频繁调用转换器。例如: Writer out = new BufferedWriter(new OutputStreamWriter(System.out));[code="j...原创 2012-06-29 09:59:48 · 184 阅读 · 0 评论 -
Writer 源码分析
Writer是写入字符流的抽象类。子类必须实现的方法有 write(char[], int, int)、flush() 和 close()。[code="java"]public abstract class Writer implements Appendable, Closeable, Flushable { // 字符缓冲区 private char[] writeBuf...原创 2012-06-28 17:47:46 · 247 阅读 · 0 评论 -
InputStreamReader 源码分析
[color=violet]InputStreamReader[/color]在[color=violet]字节流[/color]和[color=violet]字符流[/color]之间架起了桥梁。能够读取字节数组并使用指定的字符集解码成字符流。每次调用[color=violet]InputStreamReader[/color]的read方法会从底层字节流读取一个或多个字节。为了确保有效...原创 2012-06-28 14:54:42 · 87 阅读 · 0 评论 -
InputStream的mark和reset方法测试
[code="java"]public class InputStreamTest { public static void main(String[] args) throws IOException { writeToFile(); readFromFile(); } private static void readFromFile() { InputSt...原创 2012-05-31 09:43:35 · 156 阅读 · 0 评论 -
BufferedOutputStream 源码分析
BufferedOutputStream实现了一个缓冲输出流。构建了这样一个输出流后,应用可以往底层流写数据而不用每次写一个字节都调用底层流的方法。[code="java"]public class BufferedOutputStream extends FilterOutputStream { // 内部缓冲区,存储数据 protected byte buf[];...原创 2012-05-30 18:25:15 · 101 阅读 · 0 评论 -
Reader 源码分析
读取字符流的抽象类。子类需要重写read(char[], int, int)和close()方法。很多子类会重写该类的非抽象方法以获得更好的性能或(和)额外的功能。[code="java"]public abstract class Reader implements Readable, Closeable { // 用来在流上同步操作的对象。为了提高效率,字符流对象可以使...原创 2012-05-30 15:53:42 · 110 阅读 · 0 评论 -
InputStream 源码分析
InputStream是所有输入字节流类的超类。所有InputStream的子类必须提供返回下个字节的方法。[code="java"]public abstract class InputStream implements Closeable { private static final int SKIP_BUFFER_SIZE = 2048; private stat...原创 2012-05-30 14:38:10 · 188 阅读 · 0 评论 -
PushbackInputStream 源码分析
扩展java.io.FilterInputStream,代表的是可放回输入流。用于根据特定字符来判断流类型或编码等。[size=medium]1. 内部存储:[/size][code="java"]protected byte[] buf; // 缓冲区,从底层流获取数据protected int pos; // 下一个要读取字节的位置protected vol...原创 2014-04-19 12:04:46 · 143 阅读 · 0 评论