首页 > 其他分享 >对象输入输出流,进行文件的读写

对象输入输出流,进行文件的读写

时间:2024-12-14 20:22:14浏览次数:3  
标签:文件 String 读写 输入输出 age Student new id name

 

package cn.edu.sdut.acm;

import java.io.*;
import java.util.*;

class Student implements Serializable{ // 让Student对象可序列化
    String id;
    String name;
    String stuClass;
    int age;

    public Student(String id, String name, String stuClass, int age) {
        super();
        this.id = id;
        this.name = name;
        this.stuClass = stuClass;
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + ", age=" + age + ", class=" + stuClass + "]";
    }
}

public class Main{
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        Student stu1 = new Student("001", "Bob", "软件1805", 16); // 创建两个Student对象
        Student stu2 = new Student("002", "Join", "软件1804", 18);
        Student stuArray[] = new Student[2]; // 创建Student数组
        ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream("\\javaDemo\\stu.dat")); // 创建输出流
        ObjectInputStream is = new ObjectInputStream(new FileInputStream("\\javaDemo\\stu.dat")); // 创建输入流
        stuArray[0] = stu1; // 对象放入数组
        stuArray[1] = stu2;
        os.writeObject(stuArray); // 将数组写入文件
        Object obj = is.readObject(); // 从文件中获取对象
        if (obj instanceof Student[]) { // 判断,并向上转型
            Student[] stus = (Student[]) obj;

            for (Student stu : stus) { // 迭代遍历输出
                System.out.println(stu);
            }
        }
        os.close(); // 关闭流
        is.close();
    }
}

 

标签:文件,String,读写,输入输出,age,Student,new,id,name
From: https://www.cnblogs.com/sly-345/p/18607113

相关文章

  • 第四章 文件管理
    目录文件4.1.1文件的基本概念4.1.5文件的逻辑结构按文件是否有结构分类无结构文件有结构文件顺序文件索引文件索引顺序文件文件4.1.1文件的基本概念文件是指由创建者所定义的、具有文件名的一组相关元素的集合,是以硬盘为载体的存储在计算机上的信息集合是文件系统中最大的......
  • Vue2 - 最新详细实现在线预览Excel文件(xls/xlsx)多种方案,解析打开excel电子表格支持
    前言如果您需要Vue3版本,请访问。在vue2|nuxt2项目开发中,详解实现预览excel表格功能,在浏览器中直接打开xls/xlsx文件并渲染效果,文件来源可以是在线url地址、前端调用api接口获取文件流(先下载)等,预览方式可以新开浏览器页签或者自定义弹框等方式,兼容任意高低版本浏......
  • 强化学习:SAC和SQL算法的mujoco模型文件
    SAC和SQL算法的项目地址:https://github.com/rail-berkeley/softlearningSAC和SQL算法的mujoco模型文件地址:https://github.com/rail-berkeley/softlearning/tree/master/models使用mujoco的查看器查看:python-mmujoco.viewer--mjcf=/path/to/some/mjcf.xml......
  • OBJ文件简介、预览与转换
    OBJ文件简介OBJ文件,作为一种文本文件格式,在3D建模领域具有广泛的应用。其优势在于可以直接使用文本编辑器(如写字板)进行查看和编辑,这使得对模型数据的修改变得直观且方便。目前,市面上几乎所有的知名3D软件都支持OBJ文件的读写,尽管部分软件可能需要通过插件来实现这一功能。此外......
  • 文件上传之WebShell
    一.WebShell1.基本概念WebShell就是以asp、php、jsp等网页文件形式存在的一种命令执行境,也可以将其称做为一种网页后门。黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命......
  • Linux csplit命令图文教程:将一个大文件拆分为多个较小的文件/部分(附详细参数讲解及附
    Linuxcsplit命令csplit是一个Linux命令,可用于根据用户的要求将一个大文件拆分为多个较小的文件/部分。这些部分由上下文线确定。默认情况下,csplit将文件拆分为每个文件1000行,并为用户提供根据需要更改拆分行数的选项。输出分割文件的名称如“xx00”和“xx01”。csplit......
  • Z-BlogPHP 的配置文件在哪里?它包含哪些内容?
    Z-BlogPHP的配置文件位于 path/zb_users/c_option.php,其中 path 是你当前博客程序所放置的路径,例如 /home/wwwroot/你的域名/。这个配置文件记录了数据库连接信息等基础信息,是Z-BlogPHP正常运行的重要文件。以下是一些关键内容和说明:数据库连接信息:数据库主机:通常是 ......
  • VS内置QT插件,打开QT项目,直接用QT Designer打开ui文件闪退问题
    1.问题点概述VS内集成QT插件和环境下(本例子使用VS2015),创建或者打开QT项目,直接双击打开相关ui文件,几秒后会出现闪退问题,具体如下图所示。闪退后的弹窗报警2.解决方法1.右击ui文件,选择打开方式,在点击右侧“添加”按钮,如图:2.在弹出的添加程序窗口,点击程序那栏的右侧三点标......
  • [Ollydbg] 加密与解密-原版和吾爱版Ollydbg的下载及详细安装过程(附有下载文件)
      前言x64dbg、x32dbg和ollydbg的分析操作区别不大,这里分享Ollydbg的绿化版文件,需要x64dbg可以看[x64dbg]加密与解密-x32dbg和x64dbg的下载及详细安装过程(附有下载文件)_x32dbg下载-CSDN博客Ollydbg.zip链接:https://pan.quark.cn/s/c6e94d0b9d24打开链接可以看到有两......
  • Win11系统提示找不到WaaSAssessment.dll文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个WaaSAssessment.dll文件(挑选合适的版本文件......