VoteSystem项目源码地址:https://github.com/Cecilia520/VoteSystem
1.在服务端启动模块中,由用户输入的信息如何持久化到磁盘中?
解决方案一:
将用户输入的信息存储在集合中,一般使用最多的集合有Map、List,然后使用将集合写入文件中(比较常见,首选)。
而对于存储,有两种解决方式,一种是Map驱动,以key值作为对象的一个唯一属性,value再使用一个Map。
解决方案二:
一种是Bean驱动,将用户信息写成一个Bean类,以对象的一个属性作为key,对象作为value,组装成一个Map。
2.在服务端启动模块中,如何将端口信息写入到配置文件中进行持久化?
解决方案一:
使用一个集合添加需要存储的字符串内容,然后将list集合写入到磁盘文件中。
3.常见存储文件信息的方案?
解决方案一:
存储在Bean对象类中,可以通过get和set方法来获得其相应的属性;
解决方案二:
存储在集合中,针对不同的需求,可以选取不同的集合,常用的集合Map、List、Set;
4.对于一些某种类型参数有必须的要求准则,比如端口号必须是四位整数,用户名是由数字、字母、特殊符号组成的1-16位,用户密码要求6位数字等等,对此,解决方案有哪些?
解决方案一:
正则表达式,在Java中,可以使用Pattern类和Matcher类来完成匹配,比如在限制用户输入的是4位的正整数,可以使用以下方式来解决:
Pattern pattern = Pattern.compile("^[+]?[\\d]*$");
if (pattern.matcher(portStr).matches()){
cnt = Integer.valueOf(portStr);
}
解决方案二:
对于用户在输入不正确时,会出现NumberFormatException异常信息,此时需要在异常抛出后及时对异常进行try-catch处理,比如对于以上的问题解决还可以是这样,如下:
try{
* cnt = Integer.valueOf(portStr);
* }catch(NumberFormatException e){
* System.out.println("读取到的端口号不是数字:"+port);
* e.printStackTrace();
* cnt = 8087;
* }
5.如何从配置文件中读取内容并同时需要时从该方法外获得?
解决方案一:
将读取的内容以List集合的形式返回,然后return给调用者;
解决方案二:
如果不是很多的内容,可以采用组装成StringBuffered字符串形式返回给调用者。