JAVA读取文件中特定字符串后面的值
各位高手,我有一个文本文件,格式基本上是这样的:
[Term]
id: MI:0491
name: in silico
def: "Results generated by predictive bioinformatics approaches rather than experimental data.\nOBSOLETE as a full host organisms description is recommended using tax id == -1 as convention to refer to 'in vitro' interaction." [PMID:14755292]
related_synonym: "Predictive" []
is_obsolete: true
[Term]
id: MI:0489
name: source database
def: "Database that orignally provided the interaction record for exchange purposes." [PMID:14755292]
is_a: MI:0444 ! database citation
希望从这个文本文件中查找到每个[Term]中各个变量值如:得到name的值in silico,并将每个[Term]的各个变量记录下来
------最佳解决方案--------------------
测试文件同上;
import java.util.*;
import java.io.*;
public class Test2
{
public static void main(String[] args) throws Exception{
BufferedReader br = null;
boolean start = false;
int num = 0;
List array = new ArrayList();
try{
br = new BufferedReader(new FileReader("test.txt"));
String s = null;
while((s = br.readLine().trim()) != null){
if(s.equals("[Term]")){
num++;
start = true;
}else if(num%2==0){
start =false;
num = 0;
}else if(start){
String[] str = s.split(":",2);
array.add(str[0]);
System.out.println(s);
//6楼能不能说下结果阈值的具体用法,是否表示分成两段
//我对API例子中的其它数值不大理解。
}
}
br.close();
}catch(Exception e){
}finally{
for(int i=0;i
System.out.print(array.get(i) + ",");
}
}
}
------其他解决方案--------------------
换成proerties,或者xml文件,读取方便
------其他解决方案--------------------
需要知道 Term 中一共有多少个属性?
------其他解决方案--------------------
一行一行读取 然后以“:”分割字符串 分割后前面的作为key后面的作为value 放到map里面
遇到下一个term的时候 把map放到list里面
------其他解决方案--------------------
id: MI:0489
name: source database
def: "Database that orignally provided the interaction record for exchange purposes." [PMID:14755292]
is_a: MI:0444 ! database citation
你是说要得到id,name,def,purposes这几个后面的内容吗?
------其他解决方案--------------------
(\w+):\"(\w+)\"[((\w+):(\w+))]
------其他解决方案--------------------
顶引用:需要知道 Term 中一共有多少个属性?
------其他解决方案--------------------
二楼能对读取和分割字符串给出详细的代码吗
------其他解决方案--------------------