package day01;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import java.util.Scanner;
/**
* 修改密码操作
* @author adminitartor
*
*/
public class Demo4 {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("修改密码");
System.out.println("请输入用户名:");
String username = scanner.nextLine();
System.out.println("请输入旧密码");
String password = scanner.nextLine();
System.out.println("请输入新密码");
String newpassword = scanner.nextLine();
RandomAccessFile raf
= new RandomAccessFile(
"user.dat","rw"
);
boolean check = false;//表示密码是否修改成功
for(int i=0;i<raf.length()/100;i++) {
//上来就要将指针移动到刚开始的位置
raf.seek(i*100);
//读取用户名
byte[] data = new byte[32];
raf.read(data);
String name = new String(data,"UTF-8").trim();
if(name.equals(username)) {
//找到此人然后匹配密码
raf.read(data);
String pwd = new String(data,"UTF-8").trim();
if(pwd.equals(password)) {
//修改新密码
//1 先将指针移动到该条记录密码的位置
raf.seek(i*100+32);
//raf.seek(raf.getFilePointer()-32);
//2 重新将新密码写入文件
byte[] arr = newpassword.getBytes("UTF-8");
arr = Arrays.copyOf(arr, 32);
raf.write(arr);
System.out.println("密码修改成功");
check = true;
}
break;
}
}
if(!check) {
System.out.println("密码修改失败,用户名或密码不正确");
}
raf.close();
}
}
Java——RandomAccessFile,修改密码操作
猜你喜欢
转载自blog.csdn.net/weixin_43442290/article/details/88671476
今日推荐
周排行