文档章节

java读写二进制流

熊大大大大
 熊大大大大
发布于 2017/05/06 19:39
字数 271
阅读 42
收藏 0

写入

public static void main(String[] args) throws FileNotFoundException, IOException {
  ObjectOutputStream oos=null;
  try{
  //创建ObjectOutputStream输出流
  oos=new ObjectOutputStream(new FileOutputStream("d:\\test\\student.txt"));
  Student stu=new Student("小明",22,"男","123456");
  //对象序列化,写入输出流
  oos.writeObject(stu);
  
  }catch(IOException ex){
   ex.printStackTrace();
  }finally{
   if(oos!=null){
    oos.close();
   }
  }
 }

读出

public static void main(String[] args) throws IOException, ClassNotFoundException  {
  ObjectInputStream ois=null;
  try{
  //创建ObjectOutputStream输出流
  ois=new ObjectInputStream(new FileInputStream("d:\\test\\student.txt"));
  //反序列化,强转类型
  Student stu=(Student)ois.readObject();
  //输出生成后对象信息
  System.out.println("姓名为:"+stu.getName());
  System.out.println("年龄为:"+stu.getAge());
  System.out.println("性别为:"+stu.getGender());
  System.out.println("密码为:"+stu.getpassword());
  }catch(IOException ex){
   ex.printStackTrace();
  }finally{
   if(ois!=null){
    ois.close();
   }
  }
 }

实体类

public class Student implements java.io.Serializable  { 
 private String name;
 private int age;
 private String gender;

 //transient使password不能序列化,所以不能从输入流中读出,该属性在控制台输出是null

 private transient String password;
 public Student(String name, int age,String gender,String password){
  System.out.println("带参数的构造方法");
  this.name=name;
  this.age=age;
  this.gender=gender;
  this.password=password;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
 public String getGender() {
  return gender;
 }
 public void setGender(String gender) {
  this.gender = gender;
 }
 public String getpassword() {
  return password;
 }
 public void setpassword(String password) {
  this.password = password;
 }
}

© 著作权归作者所有

共有 人打赏支持
熊大大大大
粉丝 0
博文 6
码字总数 867
作品 0
南昌
私信 提问
关于Java编程基础学习输入输出IO的问题

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互...

Java小辰
2018/05/23
0
0
深入理解JAVA中的NIO 原

前言: 传统的 IO 流还是有很多缺陷的,尤其它的阻塞性加上磁盘读写本来就慢,会导致 CPU 使用效率大大降低。 所以,jdk 1.4 发布了 NIO 包,NIO 的文件读写设计颠覆了传统 IO 的设计,采用通...

猴亮屏
2018/07/11
0
0
java学习之I/O流

初学者在刚开始学习Java的时候总是会烟花缭乱,不知道怎么去选择,IO提供了两个包java.io,java.nio包,笔者在这里旨在从宏观上把握,整理了一个关于java IO流的一个框架,以期对后续学习有所...

牵着蜗牛去西藏
2015/07/16
525
0
JavaIO/输出输入入门

IO称之为输入输出,Java的IO是通过java.io包下的类和接口来支持,包含两大类:输入,输出. 在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Write...

Zhao-Qian
2013/01/04
0
0
JAVASE之JAVAI/O流篇

一 Java IO IO流用来处理设备之间的数据传输。 Java程序中,对于数据的输入/输出操作以”流(stream)” 的方式进行。 java.io包下提供了各种“流”类和接口,用以获取不同种类的数据,并通过标...

刘信坚
2018/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

总结:线程间频繁切换为什么耗费资源?

因为线程切换的时候,CPU需要将此线程的所有执行状态保存起来,如线程编号,执行到的位置等,然后再去执行其它线程。

浮躁的码农
47分钟前
3
0
PHP版本高于5.5时,curl文件上传必须使用CurlFile对象

坑了我一天,之前@的方法各种上传不成功文件。都怀疑服务端有bug了。

叫我哀木涕
47分钟前
1
0
js算法总结

数列求和 等差数列求和 function sum(a0,d,n){//a0->首项,d->公差,n->项数//(首项+末项)*项数/2return (a1+(a1+d*n))*n/2;} 等比数列求和 function sum(a0,q,n){//a0->首项,q->公......

祖达
今天
3
0
小白?转型?毕业生?外行学习快速入行大数据开发指南

这篇文章中,本文将针对三种不同的、想要进入数据科学领域的人群,给出自己的经验,帮助他们迅速有效入行。 虽然没有适合每个人的万能解决方案,但这三类建议值得想转行的你一看。 第1类:新...

董黎明
今天
2
0
好文 | MySQL 索引B+树原理,以及建索引的几大原则

MySQL事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下。 一、存储引擎的比较 注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义是有区别的。 ...

Java爬坑之路
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部