随笔分类 - java IO 与 NIO
摘要:mark 引用:http://janfan.cn/chinese/2015/01/05/select-poll-impl-inside-the-kernel.html 文章 select()/poll() 的内核实现 05 Jan 2015 同时对多个文件设备进行I/O事件监听的时候(I/O mul
阅读全文
摘要:在 NIO中,数据的读写操作始终是与缓冲区相关联的.读取时信道(SocketChannel)将数据读入缓冲区,写入时首先要将发送的数据按顺序填入缓冲 区.缓冲区是定长的,基本上它只是一个列表,它的所有元素都是基本数据类型.ByteBuffer是最常用的缓冲区,它提供了读写其他数据类型的方法,且 信道...
阅读全文
摘要:转载:一个故事讲清楚NIO 假设某银行只有10个职员。该银行的业务流程分为以下4个步骤:1) 顾客填申请表(5分钟);2) 职员审核(1分钟);3) 职员叫保安去金库取钱(3分钟);4) 职员打印票据,并将钱和票据返回给顾客(1分钟)。 我们看看银行不同的工作方式对其工作效率到底有何影响。1 B...
阅读全文
摘要:MP3的复制过程:package com.lp.ecjtu;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.Fil...
阅读全文
摘要:InputStreamReader:是字节流通向字符流的桥梁;OutputStreamWriter 是字符流通向字节流的桥梁;package com.lp.ecjtu;import java.io.BufferedReader;import java.io.BufferedWriter;import...
阅读全文
摘要:package com.lp.ecjtu;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;/*...
阅读全文
摘要:使用了装饰设计模式:此类的设计是为了提高流操作数据的效率。思想就是定义容器将数据进行临时存储,对于缓冲区对象,其实就是将这个容器进行了分装,并提供了更高效的操作方法。BufferReader:package com.lp.ecjtu;import java.io.BufferedReader;imp...
阅读全文
摘要:FileWriter类的构造方法定义如下:1.publicFileWriter(Filefile)throwsIOException字符流的操作比字节流操作好在一点,就是可以直接输出字符串了,不用再像之前那样进行转换操作了。package com.lp.ecjtu;import java.io.Fi...
阅读全文
摘要:java IO体系图 IO流的操作规律总结: 1,明确体系: 数据源:InputStream ,Reader 数据汇:OutputStream,Writer 2,明确数据:因为数据分两种:字节,字符。 数据源:是否是纯文本数据呢? 是:Reader 字符输入流 否:InputStream 字节输入流
阅读全文
摘要:直接看代码:package cn.itcast.io.p6.bytestream;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;public cl...
阅读全文
摘要:管道流(线程通信流):管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream)、管道输入流(PipedInputStream),如果想要进行管道输出,则必须要把输出流连在输入流之上。如图所示: 1.管道输入流应该连接到管道输出流 ,输入流和输出流可以直接连接 ...
阅读全文
摘要:java.io 类 RandomAccessFilejava.lang.Object java.io.RandomAccessFile1.该类不是IO流中的子类。2.该类既能读又能写。3.该对象内部分装了一个字节数组,通过指针可以操作数组中的元素。4.其实该对象就是将字节输入流和输出流进行了封...
阅读全文
摘要:/*** * 一:理解序列化反序列化及其应用* 序列化:把堆内存的对象转化成字节流的过程。* 反序列化:把字节流序列恢复重构成对象的过程。* 对象的序列化的用途:1.把对象的字节序列持久化,保存到硬盘上,通常是文件当中。* 2.将对象变成字节流在网络上传输* 在很多应用当中,需要对某些对象进行序列化...
阅读全文
摘要:/*** File文件综合应用* 需求:获取指定目录下面,指定扩展名的文件,将文件的绝对路径写到文本文件当中。* * 思路:1.需要深度遍历。--递归* 2.遍历的过程中过滤指定扩展名的文件--过滤器FileNameFilter,将文件存入容器中* 3.将容器中的内容遍历,写入到指定文件中**/代码...
阅读全文
摘要:/*** 深度删除一个带内容的目录* 原理:必须从里往外删除,需要深度遍历* @author Administrator**/public class FileDeleteList { /** * @param args */ public static void mai...
阅读全文
摘要:FilenameFilter和FileFilter都是用来过滤文件,例如过滤,以.jpg或者.java结尾的文件,通过看他们的源码:通过使用File类中String[] list(FilenameFilter filter)或者public File[] listFiles(FileFilter ...
阅读全文
摘要:代码如下:package com.lp.ecjtu.File.FileDeepList;import java.io.File;public class FileDeepList { /** * @param args */ public static void main...
阅读全文
摘要:File类是对文件系统中文件以及目录(文件夹)进行封装的对象,可以通过面向对象的思想来操作文件和目录(文件夹)。File类保存文件或目录的各种元素的信息,包括文件名,文件长度,最后修改日期,是否可读,获取当前文件的路径名,判断指定文件是否存在,获得当前文件的列表,创建、删除文件目录等方法。 /*...
阅读全文
摘要:序列化 ID 问题情境:两个客户端 A 和 B 试图通过网络传递对象数据,A 端将对象 C 序列化为二进制数据再传给 B,B 反序列化得到 C。问题:C 对象的全类路径假设为 com.inout.Test,在 A 和 B 端都有这么一个类文件,功能代码完全一致。也都实现了 Serializable ...
阅读全文

浙公网安备 33010602011771号