JAVA语言序列化、反序列化、StringBuffer类、日期操作类讲解
小标 2018-12-26 来源 : 阅读 1297 评论 0

摘要:本文主要向大家介绍了JAVA语言序列化、反序列化、StringBuffer类、日期操作类讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言序列化、反序列化、StringBuffer类、日期操作类讲解,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


序列化、反序列化


1、序列化:ObjectOutputStream将对象的状态写入到特定的流里边的过程;(二进制的字节序列)


2、反序列化:ObjectInputStream从特定的流中获取数据重新构建对象的过程;


实现序列化:


1、引入相关类


2、实现 Serialzable接口


3、创建对象输出流


4、调用writeObjrct()方法将对象写入文件


5、关闭对象输出流


实现反序列化:


1、引入相关类


2、创建对象输入流


3、调用readObjrct()方法读取对象 (注:读取是要注意强制类型转换)


4、关闭对象输入流


参考代码:


public class Test {


public static void main(String[] args) {


OutputStream os=null;


ObjectOutputStream oos=null;


InputStream is=null;


ObjectInputStream ois=null;


try {


os=new FileOutputStream("D:/BABA.txt"); //创建输出流


oos=new ObjectOutputStream(os);


is=new FileInputStream("D:/BABA.txt"); //创建输入流


ois=new ObjectInputStream(is);


Student stu=new Student(24, "小明", "男");


oos.writeObject(stu); //对象序列化写入输出流


Student stu1=(Student)ois.readObject(); //反序列化并,强制把类型转换成Student类


System.out.println(stu1.toString());


} catch (FileNotFoundException e) {


// TODO Auto-generated catch block


e.printStackTrace();


} catch (ClassNotFoundException e) {


// TODO Auto-generated catch block


e.printStackTrace();


} catch (IOException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}finally {


try {


ois.close();


is.close();


oos.close();


os.close();


} catch (IOException e) {


// TODO Auto-generated catch block


e.printStackTrace();


}


}


}


StringBuffer类


StringBuffer类位于java.util包,是String类的增强类,提供了很多方法可供使用。


参考代码:


StringBuffer sb=new StringBuffer("青春无悔"); //声明StringBuffer对象,并初始化。


sb.append("我心永恒"); //追加文字的方法。


String a=sb.toString(); //转换成String类,即:字符串


sb.insert(2, ","); // 插入字符串,insert(插入位置, “字符串”)


sb.replace(start, end, str); // 替换对象中的字符(start=开始位置end=结束位置 str=替换后的字符串)


日期操作类


1.Deta类


Date date = new Date(); //创建Date类的对象


SimpleDateFormat now =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //把西方日期格式转换成中方的格式


String now1=now.format(date); //用一个字符串接受,改变格式后的日期时间


System.out.println(now1);


(注:“yyyy-MM-dd HH:mm:ss”为特定格式不能改变大小写)


2.Calendar类


Calendar c=Calendar.getInstance(); //Calendar类是一个抽象类,不能实例化,要用特定的方法实现接口


System.out.println(c.get(Calendar.YEAR)+"年"); //获取年份


System.out.println((c.get(Calendar.MONTH)+1)+"月") //获取月份,西方月份是从0开始算。所以转换要加+1


System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日") //获取当天日期


System.out.println("这一天是星期"+(c.get(Calendar.DAY_OF_WEEK)-1));//获取当天是一周钟的星期几,西方设定星期日为第一天,所以转换时要减-1


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程