练习建立用户管理系统以文件做数据库
1.java向文件中写数据
File f = new File("C:/EclipseProjects/txt/username_pwd.txt");
直接写的话:
FileWriter fw = new FileWriter("C:/EclipseProjects/txt/check1.txt");
BufferedWriter bw = new BufferedWriter(fw);
bw.write(name);
bw.flush();
br.close();
但是,这样做的后果是每次再写入,后面的内容就会把前面的内容覆盖掉,因此用下面的方法将数据向文件进行追加。
为了不让后来加入的数据把前面的数据覆盖,使用RandomAccessFile。
RandomAccessFile raf = new RandomAccessFile(f,"rw");
raf.seek(raf.length());
raf.writeBytes(username);
raf.writeBytes("\r\n"); //回车换行
raf.close();
2.从文件中读数据:
File file = new File("C:/EclipseProjects/txt/username_pwd.txt"); //建立文件指针
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
while((line=br.readLine()) != null){ //while循环体
...
...
}
fr.close();
3.以用户名密码为一对,读出时需要将用户名和密码分开,并判断用户登陆时输入的用户名和密码是否匹配。
由于br.readLine()读取的单元是以回车换行符为标记终止的,因此需要使用split()方法,把一行的内容按 空格 分隔开。
注意的是,string.split()方法,返回值就是一个数组。
String[] strArr;
strArr = line.split(" ");
name = strArr[0];
pwd = strArr[1];