一、今日学习内容:
今天练习实验八的内容。
二、遇到的问题:
无
三、明日计划:
明天继续练习实验八的习题。
今日练习的具体内容如下:
1.结构体数据的二进制文件写入
【问题描述】
定义描述的教师的结构体,依次包含如下属性,工号(int型),姓名(string型),性别(char型),用户输入整数N,描述需要输入教师信息的个数,之后依次输入教师信息,并将教师信息写入工程目录下teacher.dat文件中,以二进制的形式写入
【输入形式】
N值
第1个教师的工号 姓名 性别
第2个教师的工号 姓名 性别
。。。
第N个教师的工号 姓名 性别
【输出形式】
teacher.dat文件,N个教师信息,二进制形式
import java.io.IOException; import java.io.FileWriter; import java.io.BufferedReader; import java.io.FileReader; import java.util.Scanner; public class Teacher { private int ID; private String name; private int sex; public void setvalue(int a,String n,int s) { ID=a; n=name; sex=s; } public void main(String []args) throws IOException { System.out.println("请输入教师的数量:"); Scanner sc=new Scanner(System.in); int N=sc.nextInt(); Teacher []t=new Teacher[N]; FileWriter fw=new FileWriter("D:\\teacher.dat"); for(int i=0;i<N;i++) { System.out.println("请输入教师的工号、姓名、性别:"); Scanner sc1=new Scanner(System.in); int id1=sc.nextInt(); String na1=sc.nextLine(); int sex1=sc.nextInt(); t[i].setvalue(id1, na1, sex1); fw.write(t[i].name,t[i].ID,t[i].sex); } fw.close(); FileReader fr=new FileReader("D:\\\\teacher.dat"); BufferedReader br=new BufferedReader(fr); String s=br.readLine(); System.out.println("信息如下:"+s); fr.close(); } }
测试截图: