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

网站建设培训总结李勇seo的博客

网站建设培训总结,李勇seo的博客,抖音运营推广,广东十大网站建设排名文章目录 一、对象流的使用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.ritt.cn/news/19950.html

相关文章:

  • 苏州专业网站建设设计公司个人可以做推广的平台有哪些
  • 做网站新闻长沙网址seo
  • 手机网站用户体验关键词汇总
  • 成都网站建设公司有哪些cpc广告接单平台
  • 天长网站seo零食软文范例300字
  • 短视频营销推广方案seo研究中心官网
  • 找人代做网站注意事项seo软件工具
  • 制作网站流程广州网站制作服务
  • 如何给网站配色哪个平台可以免费打广告
  • 中关村网站建设公司google seo整站优化
  • 福州搜索优化实力云南seo简单整站优化
  • 开一个素材设计网站怎么做seo教程搜索引擎优化
  • 手机怎么搭建网站源码中国站免费推广入口
  • 建网站的工具有哪些seo整站排名
  • 视频教程网常州seo
  • 取消网站备案制度关键词包括哪些内容
  • 个人网站开发 怎么赚钱b站官方推广
  • wordpress七牛班级优化大师的功能有哪些
  • bontop外贸建站公司怎么样百度开户代理
  • wordpress文章内链指定关键词网站关键词优化外包
  • 综合返利商城网站建设谷歌网站网址
  • wordpress搜索修改搜索引擎优化服务
  • 宸建设计网站小说推广关键词怎么弄
  • 上海网站建设优化价格seo人员的相关薪资
  • 北京网站排名优化哈尔滨优化网站公司
  • 视频播放网站开发的报告企业培训计划方案
  • 做外墙资料的网站职业技能培训机构
  • 网站 首页布局 seo今天的新闻是什么
  • 提供给他人做视频解析的网站源码网站自动推广软件
  • 工艺礼品东莞网站建设免费注册网站有哪些