- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java面向对象程序设计 第8章 Java的I/O操作 本章主要内容 File类 面向字节的I/O操作 FileInputStream、FileOutputStream BufferedInputStream、 BufferedOutputStream 面向字符的I/O操作 FileReader、FileWriter BufferedReader、BufferedWriter 对象的序列化 File类 什么是文件? 文件可认为是相关记录或放在一起的数据的集合。在文件系统中,文件夹和文件从本质上没有区别,文件夹只是一种特殊的文件,里面保存了一组文件的名字而已。 文件一般存储在哪里? 可以通过java.io.File类对文件或者文件夹进行一些操作,如修改属性、删除文件、创建文件夹等。 File类 构造方法 File(File?parent, String?child) :根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 File(String?pathname):通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。 File(String?parent, String?child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 常用实例方法 exists() 、createNewFile() 、delete()、getAbsolutePath()、canWrite() 、isDirectory()、isFile() 、length() 、lastModified() 、listFiles() 、mkdir() 流的概念 流是指一连串流动的字符,是以先进先出方式发送信息的通道。 流的分类 字节流 InputStream OutputStream 字符流 Reader Writer 用FileInputStream 读文件 引入相关的类 构造一个文件输入流对象 利用文件输入流类的方法读取文件的数据 关闭文件输入流对象 用FileOutputStream 写文件 引入相关的类 构造一个文件输出流对象 利用文件输出流类的方法写文件 关闭文件输出流对象 使用FileInputStream和FileOutputStream实现文件复制 使用字节流的Filter BufferedOutputStream与BufferedInputStream是完全相对应的,对数据流提供缓冲技术。 使用BufferedOutputStream与BufferedInputStream来包装的字节流,当每次向流写入或输出时,不必每次都访问极慢的外部设备。 用FileReader 读文件 引入相关的类 构造一个FileReader对象 利用FileReader类的方法读取文件的数据 关闭FileReader对象 用FileWriter 写文件 引入相关的类 构造一个FileWriter对象 利用FileWriter类的方法写文件 关闭FileWriter对象 对象的序列化 当应用程序结束,所有创建的对象都会走向消亡。 有些应用场景下,能够将对象的状态保存下来,并在下一次应用程序启动时重新启用被保存的信息是非常有必要的。 利用I/O操作可以实现这种需求,可以通过把一些关键信息按照一定的顺序保存到文件中,并在下一次启动应用程序的时候打开文件按顺序读取信息。 Java的对象序列化可以将任何一个实现了Serializable接口的对象自动转换成一个字节序列,并且能够在其后将这个字节序列完全恢复为原来的对象。该字节序列不仅可以保存到硬盘上,还可以传输到网络上 。 关键代码 序列化一个对象 ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream(d:/java/stu.tmp)); out.writeObject(obj); 还原字节序列成为对象 ObjectInputStream in = new ObjectInputStream( new FileInputStream(d:/java/stu.tmp)); Object obj = in.readObject( ); transient 关键字 有的特殊需求却并不要求保存所有信息 。 例如,考虑到安全因素,用户并不希望应用程序保存他的密码,仅仅记住用户名就可以了,密码由用户自己记住更加安全。否则,如果序列化之后,木马程序会很方便的把所有信息全部盗走。 为了能够有效控制序列化的信息,可以用transient(瞬时)关键字逐个字段的关闭序列化。 序列化存储多个对象 Stud
原创力文档


文档评论(0)