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; } }