如何用java编程实现文本文档中某些有用信息的提取?

--SMARTRESULTSTEXTFORMAT--USER_PROTEIN_ID=Q7RTP0SMART_PROTEIN_ID=uniprot|Q7RTP0|NIPA1... -- SMART RESULTS TEXTFORMAT --
USER_PROTEIN_ID = Q7RTP0
SMART_PROTEIN_ID = uniprot|Q7RTP0|NIPA1_HUMAN
NUMBER_OF_FEATURES_FOUND=9

DOMAIN=Pfam:DUF803
START=26
END=318
EVALUE=2.5e-80
TYPE=SMART
STATUS=visible|OK

DOMAIN=transmembrane_domain
START=26
END=48
EVALUE=0
TYPE=INTRINSIC
STATUS=hidden|overlap
-- FINISHED --

这是其中一小段文本文档,-- FINISHED --将不同基因分割开来,想提取出每个基因中TYPE=SMART对应的USER_PROTEIN_ID ,DOMAIN,START,END对应的值,并写到一个文本文档中,该怎么用java实现????
展开
 我来答
supersukebe
推荐于2016-11-23 · TA获得超过8967个赞
知道小有建树答主
回答量:1476
采纳率:0%
帮助的人:1196万
展开全部

1. 读取指定文本文件对象。

2. 利用过滤器可以把所需信息读取来即可。

3. 把读出来的信息输出(持久化)即可。

可参考以下代码


package tool;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
//有序列出指定目录下所有文件及列表
public class FileListAndRemoveFile {
public static void main(String[] args) throws IOException {

//创建需要打印的目录的对象
File dir = new File("D:\\1");
ArrayList<File> list = new ArrayList<File>();
getList(dir, list);

//创建输出文件
File destFile = new File("d:\\list.txt");
writer2destFile(destFile, list);

//打印到控制台,测试用
// printOut(list);

//删除指定文件夹
// removedir(dir);
}
public static void getList(File dir, ArrayList<File> list) {
list.add(dir);
File[] files = dir.listFiles();
for(File file : files){
if(file.isDirectory()){
getList(file, list);
}else
list.add(file);
}
}
private static void writer2destFile(File destFile, ArrayList<File> list) throws IOException {
BufferedWriter bufw = new BufferedWriter(new FileWriter(destFile));
for(File file : list){
bufw.write(file.getAbsolutePath());
bufw.newLine();
bufw.flush();
}
bufw.close();
}
public static void removedir(File dir) {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
removedir(file);
} else
System.out.println(file+"="+file.delete());
}
System.out.println(dir+"="+dir.delete());
}
public static void printOut(ArrayList<File> list) {
for(File file : list){
System.out.println(file.getAbsolutePath());
}
}
}

幽静孤雨下
2015-07-31 · TA获得超过187个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:116万
展开全部
你想提取文本中认为有用的信息可以用到java的正则表达式。
但是你想获取的文本应该是有规律的(能够用正则表达式提取:比如:url....),否则无法实现。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Yf在长春
2015-08-25 · TA获得超过178个赞
知道小有建树答主
回答量:392
采纳率:50%
帮助的人:187万
展开全部
我觉得可以用regex提取,但主要还是看您如何定义有用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
当有天上有仙
2015-08-12 · 超过17用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:35.1万
展开全部
什么叫有用信息?他们有什么规则?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式