• 第五次作业(1)


    使用RandomAccessFile类实现游戏中记录打破记录的玩家信息和成绩的功能

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

    public class test{
    private File file;
    public static void main(String[] args){
    TestRandomAccessFile traf = new TestRandomAccessFile();
    traf.init();
    traf.record("Adom",80);
    traf.listAllRecords();

    }

    public void record(String record_breaker, int times){
    try{
    RandomAccessFile raf = new RandomAccessFile(file,"rw");
    boolean flag = false;
    while(raf.getFilePointer() < raf.length()){
    String name = raf.readUTF();
    long prior = raf.getFilePointer();
    if (record_breaker.equalsIgnoreCase(name)) {
    flag = true;
    //比较传递进来的数与之前数的大小
    if (raf.readInt() < times) {
    //利用seek()方法跳转到prior的位置
    raf.seek(prior);
    raf.writeInt(times);
    break;
    }
    } else {
    raf.skipBytes(4);
    }

                         }
        if(!flag){
            raf.writeUTF(record_breaker);
            raf.writeInt(times);    
        }
        raf.close();                
    }catch(Exception e){
        e.printStackTrace();    
    }
    

    }

    public void init(){
    if(file == null){
    file = new File("record.txt");
    try{
    file.createNewFile();
    }catch(IOException e){
    e.printStackTrace();
    }
    }
    }

    public void listAllRecords(){
    try{
    RandomAccessFile raf = new RandomAccessFile(file,"r");
    while(raf.getFilePointer() < raf.length()){
    String name = raf.readUTF();
    int times = raf.readInt();

            System.out.println("name:" + name + "	record:" + times);
        }
        raf.close();                
    }catch(Exception e){
        e.printStackTrace();    
    }       
    

    }
    }

  • 相关阅读:
    备忘--ruby相关
    Redhat下安装ruby
    ubuntu装机相关设定及问题系列(6)
    ubuntu装机相关设定及问题系列(5)
    备忘--ubuntu装机历程
    备忘--ubuntu10下安装ruby和cucumber
    jQuery--checkbox全选/取消全选
    经常用的Jquery图片轮转
    JavaScript js 兼容浏览器问题 兼容Fire
    net页面生命周期
  • 原文地址:https://www.cnblogs.com/humeiling/p/5402393.html
Copyright © 2020-2023  润新知