Java 文件流,正则表达式,HashMap
来源:互联网 发布:彩票源码论坛php 编辑:程序博客网 时间:2024/06/14 07:07
简述:
读取一个txt,从中获取一个大String,然后用Java的正则表达式解析,存入一个HashMap之后输出
知识点:
1. Java的文件流(注意查看当前文件路径System.getProperty("user.dir");
2. String字符串的正则解析
1_ 圆括号会细分为Matcher.group(1),Matcher.group(2) etc 的元素
2_ 非贪婪模式,使用"?"符号,找到第一个匹配[ ' ]的一段字符串
3. HashMap的使用及遍历
message.txt
{1: 'aas31df', 2: 'dfsf:se.fae', 3: 'gold metal AL'}
代码:
package test.stringTest;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Iterator;import java.util.regex.Matcher;import java.util.regex.Pattern;public class TestStringOpertion {public static String ReadFile(String filePath) throws IOException{FileInputStream fileInputStream = new FileInputStream(filePath);InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);BufferedReader bufferedReader = new BufferedReader(inputStreamReader);String message = "";String line = "";while((line = bufferedReader.readLine()) != null)message += line;return message;}public static void main(String[] args) throws IOException{//System.out.print(System.getProperty("user.dir"));String str = ReadFile("./src/test/stringTest/message.txt");Pattern pattern = Pattern.compile("([0-9]+): '(.*?)'");Matcher matcher = pattern.matcher(str);HashMap<Integer, String> keyValueMap = new HashMap<Integer, String>();while(matcher.find()){String keyStr = matcher.group(1);String valueStr = matcher.group(2);keyValueMap.put(Integer.parseInt(keyStr), valueStr);}//遍历hashmap方法一System.out.println("遍历hashmap方法一, ");Iterator<Integer> it = keyValueMap.keySet().iterator();while(it.hasNext()){Integer key = it.next();String value = keyValueMap.get(key);System.out.println(key + " = " + value);}//遍历hashmap方法二System.out.println("\n遍历hashmap方法二,");for(Object key : keyValueMap.keySet()){System.out.println(key + " = " + keyValueMap.get(key));}}}
输出:
- Java 文件流,正则表达式,HashMap
- Java中的流与文件:正则表达式
- java流与文件——正则表达式
- java中用正则表达式解析LRC文件
- 正则表达式和java解析csv文件
- java中用正则表达式解析LRC文件
- java中用正则表达式解析LRC文件
- java 处理文件路径 正则表达式
- Java 正则表达式正则
- 【正则表达式】Java正则表达式
- 正则表达式 JAVA正则表达式
- 【Java】【正则表达式】正则表达式
- JAVA高级【1.7】《Java核心技术2》流与文件-正则表达式
- 文件路径 正则表达式
- 用正则表达式和java解析csv文件
- java 正则表达式 获得某文件上的所有电话号码
- 正则表达式 统计java文件代码的数量
- java正则表达式练习之分析lrc文件
- 图片墙瀑布式加载图片方法
- php伪弹窗的实现
- SQLite Database Browser
- Javascript 创建对象及为对象属性赋值
- Linux防火墙设置
- Java 文件流,正则表达式,HashMap
- UVa 705 - Slash Maze
- Maven无法正常下载快照Snapshots jar
- 30岁学android开发
- 一个游戏程序员的学习资料
- UVa 11111 - Generalized Matrioshkas
- UVa 10562 - Undraw the Trees
- 一些小功能的总结
- win7下安装ORACLE10g报错 未知错误