您的位置:首页 > 编程语言 > Java开发

JDK核心技术卷II高级特性第八卷(第八版)流与文件2

2015-01-23 20:30 274 查看
ZipInstream 读入ZIP文档,getNextEntry 方法可以返回一个描述这些项的ZipEntry类型的对象。ZipInputStream的read方法被修改为碰到当前项的的结尾时返回-1,而不是碰到ZIP文件的末尾,必须调用closeEntry来读入下一项。

对象流与序列化

对象序列化,即即将任何对象写到流中,并能在流中把它读回。

ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("emloy.dat"));

Employee harry = new Employee(“ef”);

out.writeIbject(harry);

读回:

ObjectInputStream in = new ObjectInputStream(new FileInputStream("feef.dat"));

Employee e1=in.readObject();

这些类必须实现Serializable 接口

之所以称之为序列化,是因为每个对象引用都是用一个序列号保存的。序列化的另外一种重要的应用是通过网络对象集合传送到另一台计算机上。因为序列化用序列号代替了内存地址,所以它允许将对象集合从一台机器传送到另一台机器。

注意点:

对象流输出中包含所有对象的类型和数据栈。

每个对象被赋予一个序列号。

相同对象的重复出现将被存储为这个对象的序列号的引用。

某些数据域永远不该被序列化,如只对本地访问有意义的存储文件句柄,需要标记为transient

流类关心的是文件的内容,而File类关心的是磁盘上文件的存储。

考虑到可移植性的问题,应该使用程序运行平台所使用的文件分隔符,它以常量字符串 File.separator 形式存储。

File foo = new File("Documents" +File.separator+"data.txt");

File 对象既可以表示文件,也可以表示目录。

getName() 返回这个File对象的文件名的字符串,不包含路径信息。 getPath() 返回包含路径名的字符串。

FilenameFilter 文件名过滤器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: