1.知识点 1.1.课程回顾 1.2.本章重点 1.2.1  io操作 1.2.2  对象的序列化与反序列化 2.具体内容 2.1.Java IO 2.1.1.什么是IO IO其实就是输入.输出 I InputStream 输入流 O OutputStream 输出流 Java IO即Java输入输出系统.不管我们编写何种应用,都难免和各种输入输出相关的媒介打交道,其实和媒介进行IO的过程是十分复杂的,这要考虑的因素特别多,比如我们要考虑和哪种媒介进行IO(文件.控制台.网络),我们还要考虑具体…
目录 Java中的IO操作和缓冲区 一.简述 二.IO流的介绍 什么是流 输入输出流的作用范围 三.Java中的字节流和字符流 字节流 字符流 二者的联系 1.InputStreamReader 2.OutputStreamWriter 字节流和字符流的区别 读取单位不同 执行效率不同 使用对象不同 缓冲区的使用 四.效率测试 代码测试 输入测试 输出测试 主测试类 测试结果 结果分析 五.字节序 类型 C语言中的二进制和文本文件的读取效率比较 测试代码 测试结果 结果分析 六.思考总结 参考链…
一.InputStream重用技巧(利用ByteArrayOutputStream) 对同一个InputStream对象进行使用多次. 比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,这时既要把数据显示到前台(第一次读取),又想把数据写进文件缓存到本地(第二次读取). 但第一次读取InputStream对象后,第二次再读取时可能已经到Stream的结尾了(EOFException)或者Stream已经close掉了…
对象的序列化和反序列化 1)对象序列化,就是将Object对象转换成byte序列,反之叫对象的反序列化. 2)序列化流(ObjectOutputStream),是字节的过滤流—— writeObject()方法 反序列化流(ObjectInputStream)—— readObject()方法 3)序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列化,否则将出现异常. 注:这个接口,没有任何方法,只是一个[标准] 一.最基本的序列化和反序列过程 序列化和反序列都是以Ob…
IO / XML 一.File类 1.定义/概念 Java是面向对象的语言,要想把数据存到文件中,就必须要有一个对象表示这个文件.File类的作用就是代表一个特定的文件或目录,并提供了若干方法对这些文件或目录进行各种操作.File类在java.io包下,与系统特定输入输出的相关的类都在此包下. 2.File类构造方法 构造一个File类的实例,并不是创建这个目录或文件,而是创建该路径(目录或文件)的一个抽象,他可能真实存在,也可能不存在 (1)File(File parent,String ch…
IO流是用来处理设备之间的数据传输,Java对数据的操作是通过流的方式进行,而操作流的对象都封装到java.io包中.根据操作数据的种类可以把IO流分为字节流(InputStream,OutputStream)和字符流(Reader,Writer)或者根据流的流向分为输入流(InputStream,Reader)输出流(OutputStream,Writer) 字符流中继承体系结构: 字节流中的继承体系结构: FileWriter:字符输出流专门写入文本数据,使用后需要调用flush()方法,在…
Java的IO流是实现输入/输出的基础,它可以方便地实现数据的输入\输出操作,在Java中把不同的输入\输出源抽象为"流",通过流的方式允许Java程序使用相同的方式来访问不同的输入/输出源.stream是从起源(source)到接收(sink)的有序数据. Java把所有传统的流类型(类或抽象类)都放在java.io包中,用以实现输入\输出功能. JavaAPI 1.6中java.io包 1.子节流  * 输入字节流 * -------------|InputStream 所有输入字…
在使用io操作之前,先看一下java中的文件类File如何使用.File包括文件和目录,对文件和目录的操作是新建目录mkdir,新建文件createNewFile,删除文件和目录delete,以及其他的一些操作. package zaojiahua; import java.io.File; import java.io.IOException; /* 对文件类的操作 */ public class Test { public static void main(String[] args) th…
对象序列化的概念 对象序列化使得一个程序可以把一个完整的对象写到一个字节流里面:其逆过程则是从一个字节流里面读出一个事先存储在里面的完整的对象,称为对象的反序列化. 将一个对象保存到永久存储设备上称为持续性.对象的序列化即可实现持续性. 一个对象要想能够实现序列化,必须实现  Serializable 接口或 Externalizable 接口. 对象序列化的作用 一.对象序列化可以实现分布式对象.主要应用例如:RMI(远程方法调用)要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时…
为了序列化原生的容器对象例如  List 和 Map 对象,你必须使用 Template. Template 对象是 serializer 和 deserializer 的配对.例如,为了序列化一个 List 对象,在 List 对象中 Integer 对象为元素,你可以使用下面的方法来创建一个模板对象(Template object). Template listTmpl = Templates.tList(Templates.TInteger); 类 tList, TInteger 是静态方…