今天老师讲I/O流,留了一道题:文件一(User.txt)存放用户,文件二(privilegee.txt)存放权限,用等号做分割,用Reader和BufferedReader 进行取值,分割取值都成功了,但是唯一一个就是把用户名和权限关联起来,比如:表一(1=张三=123456=10101010),表二(1=File=New=org.niit.view.NewDialog),如果表一的最后一个String截取两位是10,则输出表一的用户ID ,用户名,密码和表二的权限!! 就是去权限的我怎么想都想不出来,求个思路,该用什么,最好能贴个代码!! 让我看下,以后就知道了!! 老师说这个和GUI的菜单一样,比如:管理员有File下面有 New 等好多, 普通用户下面就有一个New,游客File下面没有!!! 闷了一个小时了!! 想不出来!!
File
--New
--Open
----Excel
----Word
----PPT
--Delete
Edit
--Search
--Cut这样一个菜单权限的话,文件二(privilegee.txt)里面应该是什么样的数据?
privilegee.txt里是这样的两个信息:1=File=New=org.niit.view.NewDialog
2=File=open=org.niit.view.OpenDialog
User.txt里是这样的几个信息:1=zhangsan=34834738=101110101(解释:101100是判断有几个权限,我们老师说 如果前两位是00的没有,01的有一个权限,10的有两个权限,以此类推!想得头疼,想不出来)
2=lisi=343543543=00101010100
3=wangwu=1654646=11001100110
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class TestDateAndTime {
public static void main(String[] args) {
String str="test=root";
Pattern p=Pattern.compile("[^=]+");
Matcher m=p.matcher(str);
//System.out.println(m.find());
while(m.find()){
System.out.println(m.group());
System.out.println(m.start()+"_"+m.end());
}
}
}
//结果是
//test
//0_4
//root
//5_9