java读取txt文件,文件中的内容如下所示。map结构,读出来的一行String怎么转换为Map。请问我该怎么做?
用户ID:987654321;用户名:李四;用户IP:192.168.1.1;活动时间:2015-01-1312时58分34秒;程序名称:C:/Windows/syste...
用户ID:987654321 ; 用户名:李四 ; 用户IP:192.168.1.1 ; 活动时间:2015-01-13 12时58分34秒 ; 程序名称:C:/Windows/system32/DllHost.exe ; 开始时间:12时58分30秒 ; 结束时间:12时58分34秒 ; 是否锁定:0
用户ID:987654321 ; 用户名:李四 ; 用户IP:192.168.1.1 ; 活动时间:2015-01-13 12时58分34秒 ; 程序名称:C:/Windows/system32/DllHost.exe ; 开始时间:12时58分30秒 ; 结束时间:12时58分34秒 ; 是否锁定:0
。。。。 展开
用户ID:987654321 ; 用户名:李四 ; 用户IP:192.168.1.1 ; 活动时间:2015-01-13 12时58分34秒 ; 程序名称:C:/Windows/system32/DllHost.exe ; 开始时间:12时58分30秒 ; 结束时间:12时58分34秒 ; 是否锁定:0
。。。。 展开
2个回答
展开全部
分这么几步操作:
把读出的一行数据,根据分号(;),解析成数组;
然后循环这个数组,根据冒号(:),解析成数组;
把2的数据赋给一个map;
代码示意:
String str = "你读取的一行文本";
Map map = new HashMap(); //新建map对象
String[] strArray = str.split(";");
for(String s:strArray){
String[] sArray = s.split(":");
map.put(sArray[0], sArray[1]);
}
追问
这样的话 好像用户ID,用户名等等都是在sArray[0]里、而数据都在sArray[1]里了吧
追答
是的
展开全部
String str = "用户ID:987654321 ; 用户名:李四 ; 用户IP:192.168.1.1 ; 活动时间:2015-01-13 12时58分34秒 ; 程序名称:C:/Windows/system32/DllHost.exe ; 开始时间:12时58分30秒 ; 结束时间:12时58分34秒 ; 是否锁定:0";
Map<String, String> map = new HashMap<String, String>();
for(String s :str.trim().split(";")){
String[] ss = s.trim().split(":");
map.put(ss[0].trim(), ss[1].trim());
}
for(Entry<String,String> e:map.entrySet()){
System.out.println(e.getKey());
System.out.println(e.getValue());
}
追问
谢谢,你的编码更严谨。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询