当前位置: 首页 > news >正文

山东省住房和城乡建设局网站首页淘宝网上购物平台

山东省住房和城乡建设局网站首页,淘宝网上购物平台,安徽运营网络营销推荐咨询,啥是东莞网站优化推广2019独角兽企业重金招聘Python工程师标准 一、ObjectOutputStream 1 - ObjectOuputStream介绍 ObjectOutputStream(对象字节输出流)#xff0c;用于将一个序列化对象写入到创建ObjectOutputStream时传入的底层字节输入流中#xff0c;通过源码可知该类继承Outp… 2019独角兽企业重金招聘Python工程师标准 一、ObjectOutputStream 1 - ObjectOuputStream介绍     ObjectOutputStream(对象字节输出流)用于将一个序列化对象写入到创建ObjectOutputStream时传入的底层字节输入流中通过源码可知该类继承OutputStream的同时实现了ObjectOutput接口而此接口继承了DataOut接口因此ObjectOutputStream在具有DataOutputStream写入基础数据类型到底层字节流功能的同时也具有将对象、数组和字符串写入到底层字节输入流中的功能。 ObjectOutputStream与DataOutputStream的区别 1ObjectOutputStream是将一个对象的所有属性、还有类信息的额外信息写入到底层字节输出流中而DataOutputStream一次写入的只是一个基础类型数据 2读取时ObjectOutputStream一次只读取一个对象不关心每个对象属性的写入顺序DataOutputStream需要严格按照写入顺序进行读取 2 - ObjectOutputSteam源码解析 1常用成员方法 protected void annotateClass(Class!--?-- cl); 子类可以实现此方法从而允许在流中存储类数据。protected void annotateProxyClass(Class!--?-- cl); 子类可以实现此方法从而在流中存储定制数据和动态代理类的描述符。 void close();//关闭当前流、释放所有与此流有关的资源。 void defaultWriteObject();//将表示当前类状态的属性写入到构造时传入的底层流out中。 protected void drain();//将ObjectOutputStream中的所有已缓冲数据写入到底层流中、注意但是不flush底层流、 protected boolean enableReplaceObject(boolean enable);//允许流对流中的对象进行替换。 void flush();//刷新该流的缓冲、这里也会将底层流中的数据flush到底层流指定的目的地中。 ObjectOutputStream.PutField putFields();//获取用于缓冲写入流中的持久存储字段的对象。 protected Object replaceObject(Object obj);//在序列化期间此方法允许 ObjectOutputStream 的受信任子类使用一个对象替代另一个对象。 void reset();//重置将丢弃已写入流中的所有对象的状态。 void write(byte[] buf);//写入一个 byte 数组。 void write(byte[] buf, int off, int len);//写入字节的子数组。 void write(int val);//写入一个字节。 void writeBoolean(boolean val);//写入一个 boolean 值。 void writeByte(int val);//写入一个 8 位字节。 void writeBytes(String str);//以字节序列形式写入一个 String。 void writeChar(int val);//写入一个 16 位的 char 值。 void writeChars(String str);//以 char 序列形式写入一个 String。 protected void writeClassDescriptor(ObjectStreamClass desc);//将指定的类描述符写入ObjectOutputStream。 void writeDouble(double val); //写入一个 64 位的 double 值。 void writeFields();//将已缓冲的字段写入流中。 void writeFloat(float val);//写入一个 32 位的 float 值。 void writeInt(int val);//写入一个 32 位的 int 值。 void writeLong(long val);//写入一个 64 位的 long 值。 void writeObject(Object obj);//将指定的对象写入 ObjectOutputStream。 protected void writeObjectOverride(Object obj); //子类用于重写默认 writeObject 方法的方法。 void writeShort(int val);//写入一个 16 位的 short 值。 protected void writeStreamHeader();//提供 writeStreamHeader 方法这样子类可以将其自身的头部添加或预加到流中。 void writeUnshared(Object obj);//将“未共享”对象写入 ObjectOutputStream。 void writeUTF(String str);//以 UTF-8 修改版格式写入此 String 的基本数据。 二、ObjectInputStream 1 - ObjectInputStream介绍     ObjectInputStream是对象字节输入流继承自InputStream用于从底层字节输入流中读取一个序列化对象到程序中与ObjectOutputStream功能相对应实现了ObjectInput接口而ObjectInput实现了DataInput接口在实现DataInput接口定义的基础类型数据的基础上扩展了读取对象、数组和字符串的功能。它可以和FileInputStream和FileOutStream将使用ObjectOutputStream持久化的对象、数组和字符串读取到程序中并还原状态当然还可以用于在网络中传输对象数据。 2 - ObjectInputStream源码分析 1)构造方法 public ObjectInputStream(InputStream in) throws IOException {verifySubclass();bin new BlockDataInputStream(in);handles new HandleTable(10);vlist new ValidationList();serialFilter ObjectInputFilter.Config.getSerialFilter();enableOverride false;readStreamHeader();bin.setBlockDataMode(true);}protected ObjectInputStream() throws IOException, SecurityException {SecurityManager sm System.getSecurityManager();if (sm ! null) {sm.checkPermission(SUBCLASS_IMPLEMENTATION_PERMISSION);}bin null;handles null;vlist null;serialFilter ObjectInputFilter.Config.getSerialFilter();enableOverride true;} 两个构造方法逻辑基本相同不同点在于ObjectInputStream是创建一个全新的字节流而ObjectInputStream(InputStream in)的部分属性基于绑定的字节输入流in 2其他常用成员方法 int available(); //返回不受阻塞地读取的字节数 void close();//关闭输入流 void defaultReadObject();//从当前输入流读取当前类状态的属性(没有被static、transient修饰的字段) protected boolean enabledResolveObject(boolean enable);//使流允许从该流读取的对象被替换 int read();//读取字节数据 int read(byte[] buf, int off, int len);//读入byte数组 boolean readBoolean();//读取一个boolean值 byte readByte();//读取一个8位字节 char readChar();//读取一个16位char值 ... String readUTF();//读取UTF-8格式的String readFully(byte buf[]) readFully(byte buf[],int off,int len);//阻塞直至读取所有字节 ObjectInputStream.GetField readFields();//按名称从流中读取持久字段并使其可用转载于:https://my.oschina.net/zhangyq1991/blog/1860710
http://www.zqtcl.cn/news/30675/

相关文章:

  • 上海网站制作工作室免费wordpress网站模板
  • 怎么建立企业网站免费的网站运营谁都可以做吗
  • 如何进行公司网站的建设制作返利网站
  • 最便宜网站外网怎么进入
  • p2p网站建设公司排名大连住房保障网官网
  • 网站建设优化服务熊掌号网站建设的优势
  • 怎么查看网站是否降权智慧团建密码只能是8位吗
  • PHP网站建设选择哪家好电商网站业务流程图
  • 洛阳专业做网站多少钱个人网站有哪些举例
  • 贵阳美容网站建设成都公司注册网
  • 做曖免费网站wordpress 购物分享
  • 南宁做网站的有几家销售平台有哪些电商
  • 老榕树智能建站软件寿宁建设局网站
  • 博星卓越营销网站设计报告总结网站建设实验
  • 山东兴润建设有限公司网站wordpress 图片本地化
  • 做网站现在赚钱吗深圳公司排名100强
  • 学校网站建设的应用意义案例东莞 营销网站
  • 没有后台的网站怎么做排名怎么制作网站小游戏
  • 南昌企业网站建设公司哪个好公司网站开发费计入办公费
  • 上海网站设计专注乐云seo网站正在建设中代码
  • 网站首页动图怎么做电商网站建设精英
  • 红色系列的网站点餐网站模板
  • js 网站源码为什么只有中国做网站需要备案
  • 网站建设需要什么能力关键词推广优化外包
  • 攀枝花市住房和城乡建设局网站优普道建筑网校
  • 云脑网络科技网站建设汕头做网站
  • 旅游电子商务网站建设规划书网站建设阿里巴巴
  • 平顶山做网站哪家好在线crm在线oa免费
  • 照片分享网站模板下载企业网站建设费多少钱
  • 南宁企业网站建设中国建筑人才网app下载