`
lingqin1992
  • 浏览: 3980 次
  • 性别: 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. **类加载阶段**...

    quartz-job初始化数据表.zip

    "quartz-job初始化数据表.zip" 文件显然包含了用于设置Quartz作业调度系统的数据库表结构。 这个压缩包可能包含了一系列SQL脚本,用于在数据库中创建必要的表,这些表包括但不限于: 1. **QRTZ_JOB_DETAILS**:此...

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

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

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

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

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

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

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

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

    框架使用到的初始化脚本

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

    java 导出数据为sav格式

    - 使用JSPSS或Java SPSS API:引入相应的库,初始化API,然后使用其提供的方法将数据写入.SAV文件。 - 配置Maven:如果要将项目部署到Maven私服,需要配置pom.xml文件,设置相关的部署插件和服务器信息。 - 执行...

    java nio 包读取超大数据文件

    1. **初始化配置** - **定义文件路径**:`String fileName="c:/lin/data/"+getForder("c:/lin/forder.txt")+"/"+nodeName+".txt";` 这里通过组合字符串的方式指定了要读取的文件路径。`getForder()`函数假设是用来...

    深入java虚拟机加载初始化

    这一过程对于Java应用程序而言至关重要,因为它涉及到如何正确地读取、解析以及初始化类文件。 #### Java加载初始化的关键概念 Java程序在运行过程中涉及几个关键的概念,包括类加载、连接以及初始化等阶段。 1. ...

    java初始化开发环境

    总结起来,Java初始化开发环境涉及到创建合理的目录结构,设置项目分层,初始化Node.js服务框架Koa2,以及连接NoSQL数据库MongoDB并使用Mongoose进行数据操作。这些步骤确保了项目从一开始就具备良好的可扩展性和可...

    ruoyi初始化的mysql脚本文件

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

    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");...

    java操作CSV文件

    - **构造函数**:接受文件路径作为参数,初始化`CSVReader`实例。 - **`getRowValues()`方法**:获取文件中的单行数据。 - **`getColNum()`方法**:获取当前行的列数。 - **`close()`方法**:关闭文件流。 #### 四...

Global site tag (gtag.js) - Google Analytics