zoukankan      html  css  js  c++  java
  • 文件读写,输入输出

      

    文件/对象 输入输出

    将对象写入文件:

    1. 创建对象

    Studen stu=new Student(“tom”,12,”男”);

    1. 创建文件输出流:FileOutputStream

    FileOutputStream fos = new FileOutputStream(“d:/test/student.bin”);

    1. 创建对象输出流:  ObjectOutputStream

    ObjectOutputStream oos = new ObjectOutputStream( fos);

    1. 写入对象: writeObject()

    oos.writeObject(stu);

    1. 关闭流:close()
    • oos.close();

    注:注意文件路径是用d:/test/student.bin的形式,test文件夹需先创建好,student.bin不必

    从文件读出对象:

    1. 创建文件输入流:FileInputStream

    FileInputStream fis = new FileInputStream (“d:/test/student.bin”);

    1. 创建对象输入流:  ObjectInputStream

    ObjectInputStream ois = new ObjectInputStream (fis);

    1. 读出对象: readObject()

    Student student=(Student) ois. readObject ();

    1. 关闭流:close()
    • ois.close();

             注:d:/test/student.bin已经存在的情况下

    示例代码

      

      Student.java

    package entity;

    import java.io.Serializable;

    public class Student implements Serializable {

    private String name;
    private String gender;
    private int age;
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getGender() {
    return gender;
    }
    public void setGender(String gender) {
    this.gender = gender;
    }
    public int getAge() {
    return age;
    }
    public void setAge(int age) {
    this.age = age;
    }

    }

    oiTest.java

      

    package test;

    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;

    import entity.Student;

    public class oiTest {

    public static void main(String[] args) {
    Student stu = new Student();
    stu.setAge(12);
    stu.setName("tom");
    stu.setGender("男");
    FileOutputStream fos=null;
    FileInputStream fis=null;
    ObjectOutputStream oos=null;
    ObjectInputStream ois=null;
    try {
    //写出文件
    fos = new FileOutputStream("d:/test/student.java");
    //从文件中取出
    fis=new FileInputStream("d:/test/student.java");
    try {
    oos=new ObjectOutputStream(fos);
    ois=new ObjectInputStream(fis);
    oos.writeObject(stu);
    try {
    Student s=(Student)ois.readObject();
    System.out.println(s.getName());
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    try {
    ois.close();
    oos.close();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    }


    }

    }

  • 相关阅读:
    java程序后台报错java.net.SocketException: Too many open files
    linux中,查看某个命令是来自哪个RPM包或者是通过哪个RPM包安装的
    Oracle卸载之linux快速卸载rac脚本-一键卸载
    40个DBA日常维护的SQL脚本
    Oracle SQL开发 之 Select语句完整的执行顺序
    Oracle开发 之 主-外键约束FK及约束的修改
    drop user 报错ora-00604
    oracle Bug 4287115(ora-12083)
    Ora-1157 ora-1110错误解决案例一枚
    rac库grid目录权限(6751)导致数据库宕机案例 此方法仅用于紧急救助
  • 原文地址:https://www.cnblogs.com/xyzq/p/5733110.html
Copyright © 2011-2022 走看看