四套读写方案

第一套:字节流读取写入方案

FileInputStream :字节流方式读取文本文件

FileOutputStream:字节流写入硬盘

第二套:字符流读取写入方案

FileReader:字符流读取文本

FileWriter:字符流写入文本

BufferedReader:自定义缓存大小,读取文本 8192个char

BufferedWriter:写入文本

一般和FileReader和FileWriter结合使用

第四套:可以读取二进制(img图片等 )

DataInputStream:将本地的img加载到内存中

DataOutputStream::将内存中的二进制数据写入到硬盘上的某个文件中。

序列化和反序列化:

//序列化
        List<Dog> list=new ArrayList<Dog>();
        list.add(new Dog("豆豆",15));
        list.add(new Dog("豆豆2",15));
        F
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(list);
        fos.close();
        oos.close();
        System.out.println("序列化成功!");
 反序列化
 FileInputStream fis=new FileInputStream("save.bin");
        ObjectInputStream ois=new ObjectInputStream(fis);
        List<Dog> list=(List<Dog>)ois.readObject();
        for (Dog dog : list) {
            System.out.println(dog.getName());
}
注意点:
01.如果自定义类需要被序列化,那么必须实现Serializable接口
02.禁止某个属性被序列化
使用transient修饰
比如:
transient public String msg

时间: 2024-08-01 19:13:44

四套读写方案的相关文章

四套读写文件方案

四套读写文件方案 :实例 一:使用字节流读取文本文件 //字节输入流练习:从文本文件读取各种数据(字母,字符串都支持) //声明流对象 try { FileInputStream fis=new FileInputStream("c:\\ming.txt"); int data; System.out.println("可读取的字节数:"+fis.available()); System.out.println("文件内容为:"); //循环读取

四套写入方案(仅供参考)

四套写入方案 第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 第三套: BufferedReader:自定义缓存大小 BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的img加载

四套读取方案

第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 BufferedReader:自定义缓存大小,读取文本 8192个char BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将本地的im

IO读写方案

第一套:字节流读取写入方案 FileInputStream :字节流方式读取文本文件 FileOutputStream:字节流写入硬盘 第二套:字符流读取写入方案 FileReader:字符流读取文本 FileWriter:字符流写入文本 第三套: BufferedReader:自定义缓存大小,读取文本 8192个char BufferedWriter:写入文本 一般和FileReader和FileWriter结合使用 第四套:可以读取二进制(img图片等 ) DataInputStream:将

分享一个自定义打印套打方案(一),概述

最近项目中需要实现单据套打的功能,实现后,留此日记以备忘,同时为有类似需求的同学提供一种解决方案. 原始需求: 1. 打印模板支持灵活自定义,支持可视化设置(含设置打印项是否打印,及位置,大小,字体等…). 2. 支持自定义打印项. 3. 常规的打印项设置(如自动打印小计/合计,表头表尾等…) 4. 在设置模板的时候,支持实时预览. 首先,先上个图, 给大家看一下打印套打模板的大致效果图,各位同学看着顺眼再往下看. 接下来,我们简单的来讨论一下如何实现这个需求,简单分析一下,在这个功能中,可能需

Apache Kafka系列(四) 多线程Consumer方案

Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 Apache Kafka系列(四) 多线程Consumer方案 本文的图片是通过PPT截图出的,读者如果修改意见请联系我 一.Consumer为何需要实现多线程 假设我们正在开发一个消息通知模块,该模块允许用户订阅其他用户发送的通知/消息.该消息通知模块采用Apache Kafka,那么整个架构应该是消息的发布者通过Producer调用AP

提升网站转化率的四步优化方案

优化一个网站最关键和棘手的是,如何提高整体的转化率,这是任何营销策略里最重要的方面之一,而提升网站转化率是网站综合运营实力的结果.今天,我就分享一个简单有效的四步优化方案模型,可以用于建立一个成功的转化优化方案. 何为转化率?转化率是指访问某一网站访客中,转化的访客占全部访客的比例.这里所说的“转化”,可以是从单纯的访问您网站转变成为您网站会员(即注册会员)的行为,可以是您网站的会员从零购买经历转变成为有购买经历的会员的行为,可以是从单纯的网站访客转变成为参加您网站活动的访客的行为,可以是您的潜

分享一个自定义打印套打方案(二),扩展Panel,以支持鼠标随意拖动

接上一章节,本篇主要介绍一种支持鼠标随意拖动Panel内部控件位置的方法.为了简单起见,这里我们不妨就暂称我们将要扩展的Panel容器名称为 MoveControlPanel,该容器至少需要实现以下功能 1. 识别当前鼠标位置,是否处于某个内部组件的边框位置,以让鼠标显示出对应的图标(拉伸,移动-) 2.移动鼠标以改变内部某个组件的大小及坐标, 3.保存容器内每个组件的当前坐标及大小. 为了便于描述当前光标状态,我们不妨定义一个枚举.姑且称其为 EMousePointPosition, 其至少应

java 网站源码 四套模版 在线编辑模版 兼容手机平板PC freemaker 静态引擎

前台: 支持四套模版, 可以在后台切换 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的响应式布局,同一页面同时支持PC.平板.手机(三合一)浏览器访问 4.springmvc +spring4.3.7+ mybaits3.3  SSM 普通java web(非maven, 赠送pom.xml)  数据库:mysql --------