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程序初始化顺序的详细说明: 1. **类加载阶段**...
"quartz-job初始化数据表.zip" 文件显然包含了用于设置Quartz作业调度系统的数据库表结构。 这个压缩包可能包含了一系列SQL脚本,用于在数据库中创建必要的表,这些表包括但不限于: 1. **QRTZ_JOB_DETAILS**:此...
以高等院校目标考核管理系统的数据初始化操作为背景,通过 JXL 读取存储在 Excel 文件中的初始化数据作为具体建造者角色的实现逻辑,详细阐述了该方法的具体实现过程。 该方法的优点在于:首先,它能够满足系统应用...
本资源提供的"中国各个省市的地图json文件和初始化表"是一个关键的地理信息系统(GIS)素材,它包含了中国所有省级行政区划及其下属的地级市、区县甚至街道的详细信息。以下是对这些内容的详细解释: 1. **JSON文件...
在DEMO中,`multDb-init.sql`可能包含了初始化多个数据库的数据脚本,用于设置各个数据源的基础数据环境。这些脚本通常包含了创建表、插入初始数据等操作,以便于测试和演示。 `说明.txt`文件很可能是对DEMO的详细...
本文将深入探讨“多条数据的初始化-消息资源文件”这一主题。消息资源文件通常用于存储应用程序中的国际化(i18n)信息,使软件可以适应不同语言环境。在Java Web开发中,这些文件通常以.properties格式存在,例如`...
在生产环境中,初始化数据通常用于测试、演示或提供基础配置。 4. **init_chatRecord.sql**:此脚本可能是用于初始化聊天记录表的。在许多应用中,特别是涉及到即时通讯或社交功能的,聊天记录的存储和管理是一个...
- 使用JSPSS或Java SPSS API:引入相应的库,初始化API,然后使用其提供的方法将数据写入.SAV文件。 - 配置Maven:如果要将项目部署到Maven私服,需要配置pom.xml文件,设置相关的部署插件和服务器信息。 - 执行...
1. **初始化配置** - **定义文件路径**:`String fileName="c:/lin/data/"+getForder("c:/lin/forder.txt")+"/"+nodeName+".txt";` 这里通过组合字符串的方式指定了要读取的文件路径。`getForder()`函数假设是用来...
这一过程对于Java应用程序而言至关重要,因为它涉及到如何正确地读取、解析以及初始化类文件。 #### Java加载初始化的关键概念 Java程序在运行过程中涉及几个关键的概念,包括类加载、连接以及初始化等阶段。 1. ...
总结起来,Java初始化开发环境涉及到创建合理的目录结构,设置项目分层,初始化Node.js服务框架Koa2,以及连接NoSQL数据库MongoDB并使用Mongoose进行数据操作。这些步骤确保了项目从一开始就具备良好的可扩展性和可...
在Ruoyi项目中,这些脚本可能按照一定的执行顺序组织,比如先创建数据库、用户,再建立表结构,最后插入初始化数据。 在实际操作中,我们首先需要将这个"sql"文件夹解压到本地,然后通过Docker的命令行或者配置文件...
Spring Boot是Spring框架的一个微服务开发工具,它通过预设默认配置,减少了大量初始化工作,使得开发者可以更专注于业务逻辑。在这个系统中,Spring Boot作为核心框架,负责应用的启动、配置、依赖管理和Web服务的...
如果会,就关闭当前文件,创建新的文件并重新初始化已写入字节数。`getWriter`方法负责创建新的`BufferedWriter`,并以追加模式打开文件,这样就可以在现有文件的末尾继续写入。 需要注意的是,这个示例简化了一些...
这可能是一个Java类库,包含初始化数据库结构和填充测试数据的函数;也可能是SQL脚本文件,用于创建表、索引、视图等数据库对象,并填充初始数据。 综上所述,这个"数据库初始化/清除/备份/恢复工具包"为Java开发者...
在提供的文件"9.static静态初始化快"中,可能包含了关于如何定义和使用静态初始化块的示例代码,这将帮助初学者更好地理解这个概念。通过查看和分析这些代码,你可以进一步了解静态初始化块的实际应用和效果。学习这...
2. **初始化串口**:创建`SerialPort`对象,通过`CommPortIdentifier`获取可用的串口列表,然后选择合适的串口进行初始化。 ```java CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier("COM1");...
- **构造函数**:接受文件路径作为参数,初始化`CSVReader`实例。 - **`getRowValues()`方法**:获取文件中的单行数据。 - **`getColNum()`方法**:获取当前行的列数。 - **`close()`方法**:关闭文件流。 #### 四...