Java IO--NIO(二)】的更多相关文章

Java IO(二十) PrintStream 和 DataOutputStream 异同 一.相同点 都是继承与FileOutputStream,用于包装其它输出流. 二.不同点 (一).PrintStream 和 DataOutputStream 都可以将数据格式化输出:但它们在“输出字符串”时的编码不同. PrintStream 是输出时采用的是用户指定的编码(创建 PrintStream 时指定的),若没有指定,则采用系统默认的字符编码.而 DataOutputStream 则采用的是U…
Java IO(二)File 一.概述 在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象,也就是说,如果希望在程序中操作文件和目录,则都可以通过 File 类来完成.File 类定义了一些方法来操作文件,如新建.删除.重命名文件和目录等. File 是“文件”和“目录路径名”的抽象表示形式. File 直接继承于Object,实现了Serializable接口和Comparable接口.实现Serializable接口,意味着File对象支持序列化操作.而实现Co…
接着上一篇文章 高级Java工程师必备 ----- 深入分析 Java IO (一)BIO,我们来讲讲NIO 多路复用IO模型 场景描述 一个餐厅同时有100位客人到店,当然到店后第一件要做的事情就是点菜.但是问题来了,餐厅老板为了节约人力成本目前只有一位大堂服务员拿着唯一的一本菜单等待客人进行服务. 方法A: 无论有多少客人等待点餐,服务员都把仅有的一份菜单递给其中一位客人,然后站在客人身旁等待这个客人完成点菜过程.在记录客人点菜内容后,把点菜记录交给后堂厨师.然后是第二位客人....然后是第…
  目录 概述 一.IO流(同步.阻塞) 二.NIO(同步.非阻塞) 三.NIO2(异步.非阻塞) 正文 概述 在我们学习Java的IO流之前,我们都要了解几个关键词 同步与异步(synchronous/asynchronous):同步是一种可靠的有序运行机制,当我们进行同步操作时,后续的任务是等待当前调用返回,才会进行下一步:而异步则相反,其他任务不需要等待当前调用返回,通常依靠事件.回调等机制来实现任务间次序关系 阻塞与非阻塞:在进行阻塞操作时,当前线程会处于阻塞状态,无法从事其他任务,只有…
上一节,我们分析了常见的节点流(FileInputStream/FileOutputStream  FileReader/FileWrite)和常见的处理流(BufferedInputStream/BufferedOutputStream  BufferedReader/BufferedWrite),经常而言我们都是针对文件的操作,然后带上缓冲的节点流进行处理,但有时候为了提升效率,我们发现频繁的读写文件并不是太好,那么于是出现了字节数组流,即存放在内存中,因此有称之为内存流:其中字节数组流也一…
Java IO教程 http://tutorials.jenkov.com/java-io/index.html Java NIO教程 英文版: http://tutorials.jenkov.com/java-nio/index.html 中文版: Java NIO概述 Java NIO Channel Java NIO Buffer Java NIO Scatter / Gather Java NIO 通道之间的数据传输 Java NIO Selector Java NIO FileChan…
1.IO Java IO概述 2.NIO Java NIO浅析…
1. BIO (Blocking I/O) 1.1 传统 BIO 1.2 伪异步 IO 1.3 代码示例 1.4 总结 2. NIO (New I/O) 2.1 NIO 简介 2.2 NIO的特性/NIO与IO区别 1)Non-blocking IO(非阻塞IO) 2)Buffer(缓冲区) 3)Channel (通道) 4)Selectors(选择器) 2.3 NIO 读数据和写数据方式 2.4 NIO核心组件简单介绍 2.5 代码示例 3. AIO (Asynchronous I/O) 参考…
package com.zyw.file; import java.io.*; /** * Created by zyw on 2016/3/10. */ public class FileTest2 { public static void main(String args[]){ File file=new File("G:","work.txt"); FileOutputStream fos=null; DataOutputStream dos=null; t…
上一节我们说到通过File访问文件,但是我们访问文件的最终目的都是访问文件中的内容,那么这个时候我们就需要使用到的一个类就是:RandomAccessFile. 此类的定义如下: public class RandomAccessFile extends Object implements DataOutput,DataInput,Closeable 此类的实例支持对随机访问文件的读取和写入.该操作方法通过一种文件指针的方式表示当前访问的位置,可以通过seek方法重置.需要注意的是流操作在结束之…