随笔分类 - io学习
摘要:Selector Selector(选择器)是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个channel,从而管理多个网络连接。 为什么使用Selector? 仅用单个线程来处理多个Channels的好处是,只需要更少
阅读全文
摘要:Java NIO开始支持scatter/gather,scatter/gather用于描述从Channel(译者注:Channel在中文经常翻译为通道)中读取或者写入到Channel的操作。 分散(scatter)从Channel中读取是指在读操作时将读取的数据写入多个buffer中。因此,Chan
阅读全文
摘要:Buffer Buffer的基本用法 使用Buffer读写数据一般遵循以下四个步骤: 1. 写入数据到Buffer 2. 调用flip()方法 3. 从Buffer中读取数据 4. 调用clear()方法或者compact()方法 当向buffer写入数据时,buffer会记录下写了多少数据。一旦要
阅读全文
摘要:Java NIO 由以下几个核心部分组成: Channels Buffers Selectors 虽然Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使
阅读全文
摘要:FileWriter 处理文件都会碰到的一个问题是,当前写入的数据是覆盖原文件内容还是追加到文件末尾。当你创建一个FileWriter之后,你可以通过使用不同构造函数实现你的不同目的。 以下的构造函数取文件名作为参数,将会新写入的内容将会覆盖该文件: 查看源代码打印帮助 以下的构造函数取文件名和一个
阅读全文
摘要:File java 中的file 类提供以下能力: 检测文件是否存在 读取文件长度 重命名或移动文件 删除文件 检测某个路径是文件还是目录 读取目录中的文件列表 重命名或移动文件 通过调用File类中的renameTo()方法可以重命名(或者移动)文件,代码如下: 当你获得一个File对象之后,可以
阅读全文
摘要:RandomAccessFile RandomAccessFile类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引,称为 文件指针 ;输入操作从文件指针开始读取字节,并随着对字节的读取而前移此文件指针。如果随机访
阅读全文
摘要:io异常的处理 old style 这个代码冗长 并且 如果最后close失败 最终会抛出final块中的异常,无论try捕获的异常是否更有 意义。 JDK7 try with resouces This is the try with resources construct. The FileIn
阅读全文
摘要:IO流的大体结构 pipes 中的四个流提供了线程之间通信的能力。java中的管道不同于Linux中的管道,前者只能只能是同一进程下的两个线程通信,后者是不同进程可通过管道通信 这里需要注意一点的是:如果去掉 sleep(),会报:java IOException: Write end dead”的
阅读全文

浙公网安备 33010602011771号