比如,约定文本文件中每一行代表一个学生的联系方式,如某行数据是“01张三四_18688888888”,其约定的格式为:学号(2字节)姓名(8字节,不够往右补_)手机号(11字节),那么在C语言可以定义结构体Student:
struct Student{
char[2] num;
char[8] name;
char[11] phone;
} stu1;
然后用fread()函数把文件中的一行读到结构体变量stu1,这样就可以直接得到stu1.num为"01",stu1.name为"张三四_",stu1.phone为"18688888888"了。
在Java中,请问有没有现成的读文件方法能像C语言的fread()函数那样,能把文件一行的数据自动赋值到student对象的各个成员字段(num,name,phone)中?
谢谢!!
有;
JSON可以。
你那C的函数也是别人封装好的,只不过你这么一调用,看似简单。
将对象通过gson转为JSON串写入文件里;
读取文件里的内容,转为字符串,再把这些字符串用GSON转为对象Object,再将Object强转为Student赋给一个变量 或 直接调用即可。
以上两个方法,自己写好封装成fRead()、fWrite(),也能看似很简单的样子。
需要用到gson的jar包,可以搜索下载试试
例如有个对象Student student;想转为字符串 String str;