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

网页代理网站代理赚钱

网页代理网站,代理赚钱,wordpress换数据库,共享办公商业租赁网站模板文章目录 一、对象流的使用1.概念2.序列化机制3.代码案例:序列化过程:将内存中的java对象保存到磁盘中或通过通络传输出去4.反序列化,将磁盘文件中的对象还原为内存中的一个java对象 二、RandomAccessFile的使用1.说明2.代码案例 提示&#x…

文章目录

  • 一、对象流的使用
    • 1.概念
    • 2.序列化机制
    • 3.代码案例:序列化过程:将内存中的java对象保存到磁盘中或通过通络传输出去
    • 4.反序列化,将磁盘文件中的对象还原为内存中的一个java对象
  • 二、RandomAccessFile的使用
    • 1.说明
    • 2.代码案例


提示:以下是本篇文章正文内容,下面案例可供参考

一、对象流的使用

1.概念

1.ObjectInputStream和ObjectOutputStream
2.作用:用于存储和读取基本数据类型数据或对象的处理流
3.要想一个java对象是可序列化的,需要满足相应的要求。

1.需要实现接口:Serializable
2.当前类提供一个全局常量:serialVersionUID
3.处理当前Person类需要实现Serializable接口之外,还必须保证其内部所有属性也必须是可序列化的(默认情况下,基本数据类型可序列化)补充:.ObjectInputStream和ObjectOutputStream不能序列化static和transient修饰的成员变量。

2.序列化机制

对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流,从而允许把这种二进制流持久地保存在磁盘上,或通过网络将这种二进制流传输到另一个网络节点。当其它程序获取了这种二进制流,就可以恢复成原来的Java对象。

3.代码案例:序列化过程:将内存中的java对象保存到磁盘中或通过通络传输出去

//序列化过程:将内存中的java对象保存到磁盘中或通过通络传输出去//使用ObjectOutputStream实现@Testpublic void testObjectOutputStream(){ObjectOutputStream oos = null;try{oos = new ObjectOutputStream(new FileOutputStream("object.dat"));oos.writeObject(new String("我爱北京天安门"));oos.flush();  //刷新操作oos.writeObject(new Person("姚玛丽",21));oos.flush();}catch (IOException e){e.printStackTrace();}finally {try{if(oos != null)oos.close();}catch(IOException e){e.printStackTrace();}}}

4.反序列化,将磁盘文件中的对象还原为内存中的一个java对象

@Testpublic void testObjectInputStream(){ObjectInputStream ois = null;try{ois = new ObjectInputStream(new FileInputStream("object.dat"));Object obj = ois.readObject();String str = (String)obj;Person p = (Person)ois.readObject();System.out.println(str);System.out.println(p);}catch(IOException e){e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();} finally {try{if(ois != null)ois.close();}catch(IOException e){e.printStackTrace();}}}public class Person implements Serializable {public static final long sericlVersionUID = 45866454556L;private String name;private int age;public void setName(String name){this.name = name;}public String getName(){return this.name;}public String toString(){return "Person{" +"name='"+name+'\''+",age="+age;}public Person(){}public Person(String name,int age){this.name = name;this.age = age;}}

二、RandomAccessFile的使用

1.说明

1.RandomAccessFile直接继承于java.lang.Object类,实现了DataInput和DataOutput接口
2.RandomAccessFile既可以作为一个输入流,又可以作为一个输出流
3.如果RandomAccessFile作为输出流时,写出到的文件如果不存在,则在执行过程中自动创建,如果写出到的文件存在,则会对原有文件内容进行覆盏。(默认情况下,从头覆盖)
4.可以通过相关的操作,实现RandomAccessFile“插入”数据的效果

2.代码案例

public void test1() throws FileNotFoundException {RandomAccessFile raf1 = null;RandomAccessFile raf2 = null;try{raf1 = new RandomAccessFile(new File("2.jpg"),"r");raf2 = new RandomAccessFile(new File("3.jpg"),"rw");byte[] buffer = new byte[1024];int len;while((len = raf1.read(buffer))!=-1){raf2.write(buffer,0,len);}}catch (IOException e){e.printStackTrace();}finally {if(raf1!=null){try{raf1.close();}catch(IOException e){e.printStackTrace();}}if(raf2!=null){try{raf2.close();}catch(IOException e){e.printStackTrace();}}}}
public void test2() throws  IOException{RandomAccessFile raf1 = new RandomAccessFile("hello.txt","rw");raf1.seek(3);  //将指针调到角标为3的位置raf1.write("xyz".getBytes());raf1.close();}
//使用RandomAccessFile实现数据的插入效果@Testpublic void test3() throws  IOException{RandomAccessFile raf1 = new RandomAccessFile("hello.txt","rw");raf1.seek(3);  //将指针调到角标为3的位置//保存指针3后面的所有数据到StringBuilder中StringBuilder builder = new StringBuilder((int)new File("hello.txt").length());byte[] buffer = new byte[20];int len;while((len = raf1.read(buffer)) != -1){builder.append(new String(buffer,0,len));}//调回指针,写入“xyz”raf1.seek(3);raf1.write("xyz".getBytes());//将StringBuilder中的数据写入到文件中raf1.write(builder.toString().getBytes());raf1.close();}

http://www.yayakq.cn/news/495023/

相关文章:

  • 免费手机网站制作app小程序制作pdf
  • 许昌市住房建设局网站网站建设备案流程
  • 网站商业授权如何建立网站卖东西
  • 网站销售策划虚拟币网站开发
  • 网站推广优化方法wordpress前台注册
  • 怎么做农产品垂直网站电子商务发展的前景
  • 响应式网站建设的未来发展6网站建设和源代码问题
  • 信息网站开发合同免费的分销小程序
  • 教育培训类网站开发wordpress鼠标导航栏
  • 济南网站维护公司WordPress文件修复插件
  • 重庆响应式网站设计万由nas做网站
  • 网站开发的上市公司有哪些知识管理软件排名
  • 周口市做网站wordpress滑动切换
  • 网站建设违约合同个人主页页面
  • 黄山网站建设推荐wordpress搭建好后如何在前台显示
  • 手机自己做网站吗太月星网站建设
  • 安远网站制作app软件开发的费用计入什么科目
  • 建域名做网站有网站怎么做淘宝客
  • 做国内网站花费centos建WordPress
  • 广告网站怎么做淮北叶红军
  • 上海市住房和城乡建设网站免费linux网站空间
  • 淘宝联盟里的网站推广怎么做国外哪些网站可以兼职做任务
  • 做网站的最终目的筑龙网怎么免费下载
  • 做免费漫画网站有风险吗wordpress ent
  • 青海网站如何建设上海做网站设计
  • 做图专业软件下载网站中国中小企业河南网
  • 国内用react做的网站软件开发专业用什么笔记本
  • 网站前端设计与实现大连网站建设哪个好
  • 免费素材网站psd企业系统开发去哪家
  • 在线做数据图的网站有哪些问题河南航天建设工程有限公司网站