zoukankan      html  css  js  c++  java
  • RandomAccessFile()实现用户注册功能, 新增,查询,更新

    package seday03.raf;
    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.util.Arrays;
    import java.util.Scanner;

    /**
    * @author xingsir
    * 用户注册功能
    * 程序启动后,用户输入用户名,密码,年龄
    * 然后将信息写入到文件text2.txt中。其中用户名,密码,为字符串,年龄为int值。
    *
    * 格式:
    * 每条记录占用固定的100字节
    * 其中用户名,密码 各占32字节,为字符串。年龄是int值,固定为4字节。
    *
    */
    public class RegDemo {

    public static void main(String[] args) throws IOException {
    //控制台輸入
    Scanner scanner=new Scanner(System.in);
    System.out.println("请输入用户名:");
    String username= scanner.nextLine();
    System.out.println("请输入密码:");
    String password=scanner.nextLine();
    System.out.println("请输入年龄:");
    int age = Integer.parseInt(scanner.nextLine());

    RandomAccessFile raf=new RandomAccessFile("test2.txt", "rw");
    //将指针移动到文件末尾
    raf.seek(raf.length());
    //写用户名
    byte[]data=username.getBytes("utf-8");
    data=Arrays.copyOf(data,32);//各占32字节
    raf.write(data);
    //写密码
    data =password.getBytes("utf-8");
    data =Arrays.copyOf(data, 32);//各占32字节
    raf.write(data);

    //写年龄
    raf.writeInt(age);
    System.out.println("注册完毕!");
    raf.close();

    }

    }

    //=====================================================================================

    package seday03.raf;

    import java.io.IOException;
    import java.io.RandomAccessFile;

    /**
    * @author xingsir
    * 将test2.txt文件中的所有用户信息输出到控制台
    */
    public class ShowAllUserDemo {

    public static void main(String[] args) throws IOException {
    RandomAccessFile raf =new RandomAccessFile("test2.txt","r");
    //读取用户名
    for(int i=0;i<raf.length()/100;i++) {
    byte[] data=new byte[32];//定义数组,32位
    //读取
    raf.read(data);
    //转换为字符串格式
    String username= new String(data,"utf-8").trim();

    raf.read(data);
    String password =new String(data,"utf-8").trim();

    //转换为int格式
    int age = raf.readInt();
    //输出
    System.out.println(username+","+password+","+age);

    }
    raf.close();
    }

    }

    //==============================================================================

    package seday06;

    import java.io.IOException;
    import java.io.RandomAccessFile;
    import java.util.Arrays;
    import java.util.Scanner;

    /**
    * @author xingsir
    * 程序启动后,要求用户输入用户名和新密碼。
    * 然后将test2.txt文件中对应用户的密码更改。
    * 如果输入的用户不存在,则提示沒有該用戶。
    */
    public class UpdateDemo {

    public static void main(String[] args) throws IOException{

    Scanner scanner =new Scanner(System.in);
    System.out.println("请输入用户名");
    String username= scanner.nextLine();
    System.out.println("请输入新的密码");
    String password= scanner.nextLine();

    RandomAccessFile raf =new RandomAccessFile("test2.txt", "rw");
    boolean update =false;//初始值为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.seek(i*100+32);
    data =password.getBytes("utf-8");
    data=Arrays.copyOf(data, 32);
    raf.write(data);
    System.out.println("修改完毕!");
    update = true;
    break;
    }

    }
    if(!update) {
    System.out.println("沒有該用戶");

    }

    }
    }

  • 相关阅读:
    hdu 3652 【数位dp】
    02 -body标签中相关标签
    01-html介绍和head标签
    python 核心编程第九章文件
    python核心编程 第七章 字典,集合 练习
    常用链接
    python核心编程 第七章 字典
    python核心编程 第六章 字符串,元组,列表 字符串元组只读不可变。列表可变。
    python核心编程 第五章 数字
    python读取文件中的路径内容,保存到另外的路径中
  • 原文地址:https://www.cnblogs.com/xingsir/p/12018091.html
Copyright © 2011-2022 走看看