JAVA利用properties兑现的一个小功能(转)

JAVA利用properties实现的一个小功能(转)

这次说的小功能呢,其实是跟项目中用到的知识有关,虽然对别人可能会起不到什么作用,但博客是我记录知识的好地方,所以便总结在此

目标功能:准备好N个账户,名字的命名形式为:用户名+编号,每次登陆使用一个不同用户,当然这个账户不能重复,

程序实现原理:首先呢准备好一个List将用户个数的集合放入进去:这个LIST支持的得是Long类型而不是int,为什么这么做呢,因为后面要用到System.currentTimeMillis();然后呢遍历找出list集合中最小的数字,将索引记住,设置list集合中这个索引的值为System.currentTimeMillis();这样的话list集合中的数字就有个最大的了,一次类推以后每遍历出来一个最小的就给他赋值为System.currentTimeMillis();,这样这N个用户总会轮流的来使用

好了,说的可能不是太清晰,看看代码就OK了,直接运行看不出效果得在服务器上跑出来

user.properties

<span style="font-size: medium;">user.prefixname=user
user.count=20
</span>

 处理程序

package com.cn.util.common;  
  
import java.io.IOException;  
import java.io.InputStream;  
import java.util.ArrayList;  
import java.util.List;  
import java.util.Properties;  
  
public class PropertiesRead {  
    public static InputStream inStream = Thread.currentThread()  
            .getContextClassLoader().getResourceAsStream("user.properties");  
    public static Properties properties = new Properties();  
    public static List<Long> caches=new ArrayList<Long>();  
    public static String accname;  
    public static int count;  
    static {  
        try {  
            properties.load(inStream);  
            accname = (String) properties.get("user.prefixname");  
            count = Integer.valueOf(properties.getProperty("user.count"));  
            for (int i = 1; i <= count; i++) {  
                caches.add(Long.valueOf(i));  
            }  
        } catch (IOException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  
  
    public static void main(String[] args) {  
          
        raedProperties();  
        // int random=(int)(Math.random()*10)+1;  
        // System.out.println(random);  
        // System.out.println(System.currentTimeMillis());  
    }  
  
    public static String raedProperties() {  
        int size=caches==null?0:caches.size();  
        Long flag=Long.MAX_VALUE;  
        int  index=0;  
        for(int i=0;i<size;i++){  
            if(flag>caches.get(i)){  
                flag=caches.get(i);  
                index=i;  
            }  
        }  
        caches.set(index, System.currentTimeMillis());  
        System.out.println(index+"==="+flag+"==="+caches.get(index));  
        String loginName=accname+(index+1);  
        System.out.println(caches);  
        System.out.println("登录名称"+loginName);  
      return loginName;  
    }  
  
}