`
lingqin1992
  • 浏览: 3863 次
  • 性别: Icon_minigender_2
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

关于java的文件初始化数据

    博客分类:
  • JAVA
阅读更多

package edu.sisv.sms.maojy.dao;

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

import edu.sisv.sms.maojy.entity.Admin;
import edu.sisv.sms.maojy.entity.Student;

public class InitData {
    private static final String STUDENT_DATA_FILE = "D:\\Data\\student.txt";
    private static final String ADMIN_DATA_FILE = "D:\\Data\\admin.txt";

    private static BufferedWriter bw;
    private static BufferedReader br;
    public static List<Student> stuList;
    public static List<Admin> admList;
    static {
        stuList = new ArrayList<Student>();
        admList = new ArrayList<Admin>();
    }

    public static void init() {
        File f1 = new File(STUDENT_DATA_FILE);
        if (f1.exists()) {
            readStuData();
        } else {
            initStuDate();
        }
        File f2 = new File(ADMIN_DATA_FILE);
        if (f2.exists()) {
            readAdmData();
        } else {
            initAdmDate();
        }
    }

    public static void readStuData() {
        System.out.println(">>正在读取数据...");
        String content = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(
                    STUDENT_DATA_FILE)));
            while ((content = br.readLine()) != null) {
                String[] stuArray = content.split(",");
                Student stu = new Student();
                stu.setName(stuArray[0]);
                stu.setAccount(stuArray[1]);
                stu.setPassword(stuArray[2]);
                stu.setNumber(stuArray[3]);
                stu.setGrade(stuArray[4]);
                stu.setClazz(stuArray[5]);
                stu.setSex(stuArray[6]);
                stu.setAge(stuArray[7]);
                stu.setJiguan(stuArray[8]);
                stu.setInterest(stuArray[9]);
                stu.setPingjia(stuArray[10]);
                stuList.add(stu);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("读取成功!");
    }

    public static void initStuDate() {
        System.out.println(">>正在初始化...");
        try {
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(STUDENT_DATA_FILE)));
            // 初始化学生信息
            for (int i = 1; i < 20; i++) {
                Student s = new Student("student" + i, "stu" + i, "s" + i,
                        "20140700" + i, "G" + (i % 6 + 1), "C" + (i % 10 + 1),
                        (i % 2 == 0 ? "男" : "女"), (i % 3 == 0 ? "21" : "23"),
                        "汉", "听音乐", "良好");
                stuList.add(s);
                bw.write(s.toString());
            }
            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void readAdmData() {
        System.out.println(">>正在读取数据...");
        String content = null;
        try {
            br = new BufferedReader(new InputStreamReader(new FileInputStream(
                    ADMIN_DATA_FILE)));
            while ((content = br.readLine()) != null) {
                String[] stuArray = content.split(",");
                Admin adm=new Admin();
                adm.setAccount(stuArray[0]);
                adm.setPassword(stuArray[1]);
                admList.add(adm);
            }
            br.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("读取成功!");
    }

    public static void initAdmDate() {
        System.out.println(">>正在初始化...");
        try {
            // 初始化超级管理员
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(ADMIN_DATA_FILE)));
            Admin a = new Admin("admin", "admin");
            admList.add(a);
            bw.write(a.toString());

            bw.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void saveAll() {
        try {
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(STUDENT_DATA_FILE)));
            for (Student s : stuList) {
                bw.write(s.toString());
            }
            bw.close();

            System.out.println("\n提示:本次操作内容正在写入...");
            bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream(ADMIN_DATA_FILE)));
            for (Admin a : admList) {
                bw.write(a.toString());
            }
            bw.close();
            System.out.println("信息保存完毕!");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

 

分享到:
评论

相关推荐

    Java中初始化数据域的四种方法

    在Java编程语言中,初始化数据域(字段或成员变量)是程序设计的重要组成部分。它确保在对象被创建或类被加载时,变量拥有一个合理的初始值。本篇文章将详细探讨四种常见的初始化数据域的方法,结合给出的代码示例...

    java程序初始化顺序

    在Java编程语言中,程序初始化的顺序是一个关键概念,它涉及到类加载、对象创建以及执行流程的安排。了解这些顺序对于编写高效、无错误的代码至关重要。以下是对Java程序初始化顺序的详细说明: 1. **类加载阶段**...

    Java EE数据初始化应用中的设计模式解决方案.pdf

    以高等院校目标考核管理系统的数据初始化操作为背景,通过 JXL 读取存储在 Excel 文件中的初始化数据作为具体建造者角色的实现逻辑,详细阐述了该方法的具体实现过程。 该方法的优点在于:首先,它能够满足系统应用...

    中国各个省市的地图json文件和初始化表

    本资源提供的"中国各个省市的地图json文件和初始化表"是一个关键的地理信息系统(GIS)素材,它包含了中国所有省级行政区划及其下属的地级市、区县甚至街道的详细信息。以下是对这些内容的详细解释: 1. **JSON文件...

    多条数据的初始化-消息资源文件

    本文将深入探讨“多条数据的初始化-消息资源文件”这一主题。消息资源文件通常用于存储应用程序中的国际化(i18n)信息,使软件可以适应不同语言环境。在Java Web开发中,这些文件通常以.properties格式存在,例如`...

    框架使用到的初始化脚本

    在生产环境中,初始化数据通常用于测试、演示或提供基础配置。 4. **init_chatRecord.sql**:此脚本可能是用于初始化聊天记录表的。在许多应用中,特别是涉及到即时通讯或社交功能的,聊天记录的存储和管理是一个...

    基于常量池和反编译分析的Java初始化研究.pdf

    本文通过对编译后的字节码文件的常量池和反编译的结果进行分析,从 JVM 的角度对类的初始化和对象的初始化进行更深层次的研究,以期更深刻的理解和掌握 Java 的初始化问题,为程序开发打好基础,提高开发的水平。...

    SQLite3 在应用启动时初始化数据

    在应用启动时初始化数据通常涉及到在应用程序的生命周期开始时加载预定义的数据,这可能包括默认设置、示例数据、用户配置等。这个过程对于快速提供用户友好的体验和简化开发流程至关重要。 在本文中,我们将深入...

    Java基于ECharts的数据可视化疫情分析系统源码.zip

    Spring Boot是Spring框架的一个微服务开发工具,它通过预设默认配置,减少了大量初始化工作,使得开发者可以更专注于业务逻辑。在这个系统中,Spring Boot作为核心框架,负责应用的启动、配置、依赖管理和Web服务的...

    java写文件固定大小为2G

    如果会,就关闭当前文件,创建新的文件并重新初始化已写入字节数。`getWriter`方法负责创建新的`BufferedWriter`,并以追加模式打开文件,这样就可以在现有文件的末尾继续写入。 需要注意的是,这个示例简化了一些...

    数据库初始化/清除/备份/恢复工具包

    这可能是一个Java类库,包含初始化数据库结构和填充测试数据的函数;也可能是SQL脚本文件,用于创建表、索引、视图等数据库对象,并填充初始数据。 综上所述,这个"数据库初始化/清除/备份/恢复工具包"为Java开发者...

    Java static静态初始快

    在提供的文件"9.static静态初始化快"中,可能包含了关于如何定义和使用静态初始化块的示例代码,这将帮助初学者更好地理解这个概念。通过查看和分析这些代码,你可以进一步了解静态初始化块的实际应用和效果。学习这...

    JAVA串口采集传感器数据

    2. **初始化串口**:创建`SerialPort`对象,通过`CommPortIdentifier`获取可用的串口列表,然后选择合适的串口进行初始化。 ```java CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM1");...

    ruoyi初始化的mysql脚本文件

    在Ruoyi项目中,这些脚本可能按照一定的执行顺序组织,比如先创建数据库、用户,再建立表结构,最后插入初始化数据。 在实际操作中,我们首先需要将这个"sql"文件夹解压到本地,然后通过Docker的命令行或者配置文件...

    java 文件数据加密

    总的来说,Java文件数据加密涉及到了加密理论、Java加密API的使用、密钥管理和安全策略等多个方面。正确地实施这些技术,可以有效地保护您的数据免受未经授权的访问和篡改。对于具体的DESPlus实现,需要查看源代码...

    Spring+Mybatis+Atomikos实现JAVA初始化并控制多个数据源+分布式事务

    在DEMO中,`multDb-init.sql`可能包含了初始化多个数据库的数据脚本,用于设置各个数据源的基础数据环境。这些脚本通常包含了创建表、插入初始数据等操作,以便于测试和演示。 `说明.txt`文件很可能是对DEMO的详细...

    ads1115初始化配置读取程序

    `ads1115.c`通常包含函数实现,如初始化、配置和读取数据的函数,而`ads1115.h`则包含相关的函数原型和结构体定义,以便在其他模块中调用这些函数。 **初始化配置:** 初始化ADS1115时,我们需要设置I²C接口,这是...

    Java中static静态变量的初始化完全解析

    1. **默认初始化**:当类被加载时,静态变量首先会被赋予其数据类型的默认值。例如,`int`类型的静态变量会被初始化为`0`,`boolean`为`false`,引用类型为`null`。 2. **显式初始化**:接着,按照静态变量在源代码...

    java实现文件批量上传

    在Java开发中,文件批量上传是一项常见的功能,尤其在企业级应用中,用户可能需要上传大量数据或文件。本教程将介绍如何利用SWF(Simple Workflow)和EXT库来实现这一功能。SWF是一个用于创建富互联网应用程序的前端...

    Java EE数据初始化应用中的设计模式解决方案

    以高等院校目标考核管理系统的数据初始化操作为背景,通过JXL读取存储在Excel文件中的初始化数据作为具体建造者角色的实现逻辑,详细阐述了该方法的具体实现过程.通过测试与实践表明该数据初始化方法能够满足系统...

Global site tag (gtag.js) - Google Analytics