JAVA 怎么把数据读取出来?
publicArrayList<String>regexRead(Stringcontent,Stringregex){Patternp=Pattern.compile(...
public ArrayList<String> regexRead(String content,String regex){
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(content);
ArrayList<String> al=new ArrayList<String>();
while(m.find()){
String pro=m.group(1);
String name=m.group(2);
String list=m.group(3);
al.add(pro);
al.add(name);
al.add(list);
return al;
【问题】
我怎么 传给他2个参数,之后把数据(pro、name、list)读取并打印出来??
【问题2】
有一个txt,怎么把 txt的内容(格式是:010--北京),放到hashmap中,之后我传给他一个010,可以打印出一个 北京出来 展开
Pattern p=Pattern.compile(regex);
Matcher m=p.matcher(content);
ArrayList<String> al=new ArrayList<String>();
while(m.find()){
String pro=m.group(1);
String name=m.group(2);
String list=m.group(3);
al.add(pro);
al.add(name);
al.add(list);
return al;
【问题】
我怎么 传给他2个参数,之后把数据(pro、name、list)读取并打印出来??
【问题2】
有一个txt,怎么把 txt的内容(格式是:010--北京),放到hashmap中,之后我传给他一个010,可以打印出一个 北京出来 展开
2个回答
展开全部
答案1:
同一个class中只需直接调用
regexRead(content, regex)
然后定义一个变量
List<String> list = new ArrayList<String>()
来接收它的返回值
list = regexRead(content, regex);
通过for循环来读取list,并打印出来
for(String str : list){
System.out.println(str);
}
答案2:
public List<Map<String, String>> readTxtFile(String filePath){
try {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new hashMap<String, String>();
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
String [] lineTxts = lineTxt.split("--");
if(lineTxts.length() == 2){
map.put(lineTxts[0], lineTxts[1]);
}
list.add(map);
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return list;
}
同一个class中只需直接调用
regexRead(content, regex)
然后定义一个变量
List<String> list = new ArrayList<String>()
来接收它的返回值
list = regexRead(content, regex);
通过for循环来读取list,并打印出来
for(String str : list){
System.out.println(str);
}
答案2:
public List<Map<String, String>> readTxtFile(String filePath){
try {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new hashMap<String, String>();
String encoding="GBK";
File file=new File(filePath);
if(file.isFile() && file.exists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReader.readLine()) != null){
String [] lineTxts = lineTxt.split("--");
if(lineTxts.length() == 2){
map.put(lineTxts[0], lineTxts[1]);
}
list.add(map);
}
read.close();
}else{
System.out.println("找不到指定的文件");
}
} catch (Exception e) {
System.out.println("读取文件内容出错");
e.printStackTrace();
}
return list;
}
追问
QQ多少 有点不清楚 想请教一下
追答
938363321
展开全部
遍历你的list集合 al 就会得到 pro、name、list
for(int i=0;i<al.size();i++){
System.out.println(al.get(i));
}
获取txt的内容 比如存为String str1 然后 用
String[] s = str1.split("--");
s[0] 就是 010
s[1] 就是 北京
追问
QQ多少 有点不清楚 想请教一下
追答
你留下你的QQ吧 我加你
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询