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

-- 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实现????

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());
}
}
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-31
你想提取文本中认为有用的信息可以用到java的正则表达式。
但是你想获取的文本应该是有规律的(能够用正则表达式提取:比如:url....),否则无法实现。
第2个回答  2015-08-25
我觉得可以用regex提取,但主要还是看您如何定义有用
第3个回答  2015-08-12
什么叫有用信息?他们有什么规则?

如何用java编程实现文本文档中某些有用信息的提取?
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;\/\/有序列出指定目录下所有...

怎样用Java实现从文本文档中读取数据并存入数据库
1. 使用Java I\/O流读取文本文件内容。例如,可以通过`BufferedReader`和`FileInputStream`来读取文本文件。```java import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;\/\/ ...public String readFileContent(String filePath) {...

JAVA程序怎么将输入的一段数据存到文本文档中并复制出一个相同的文本...
import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.util.Scanner;public class FileOperation { private FileWriter fileWriter; private FileReader fileReader; private File file; private String filePath = "D:\\\\file.txt"; public FileOperation() ...

Java编写一个程序读取文本文档,提取其中英文单词,将大写字母改为小写...
package file.system.demo.exception;import java.io.File;import java.io.FileNotFoundException;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Scanner;import java.util.regex.Matcher;import java...

急! 急!如何在文本文档里只提取电话号码
用软件吧 txt文本中提取手机号码软件 【电脑版】文本复制进去,按一下提取键就出来了 看了下面几位小哥说的还有变成语言,会编程这个就不会是难题了 直接用工具吧

用java如何提取pdf中的标题和作者
System.out.println( "主题:" + info.getSubject() );System.out.println( "作者:" + info.getAuthor() );System.out.println( "关键字:" + info.getKeywords() );System.out.println( "应用程序:" + info.getCreator() );System.out.println( "pdf 制作程序:" + info.getProducer() )...

java中怎么用解码读取txt文本文档的内容?
BufferedReader in = new BufferedReader(new InputStreamReader(read,"UTF-8"));是用UTF-8编码读取。那改用其他编码读就好。你如你的文件可能是GBK编码的,所以改成 BufferedReader in = new BufferedReader(new InputStreamReader(read,"GB2312"));应该就行了 ...

用java编写一个程序,分别统计并输出文本文件中元音字母a,e,i,o,u...
public static void main(String[] args) throws Exception { File f = new File("C:\\\\Users\\\\史文天\\\\Desktop\\\\新建文本文档1.txt");InputStream in = new FileInputStream(f);InputStreamReader reader = new InputStreamReader(in);\/\/ 这句话不要忽略,它对你以后编写高性能IO流有至关...

Java版Word开发工具Aspose.Words功能解析:查找和替换Word文档中的文本...
在Java开发中,Aspose.Words是一个强大的工具,用于处理Word文档(DOC \/ DOCX)中的文本查找和替换。它简化了在文档之间共享敏感信息的流程,特别是当需要自动化处理时,如在桌面或Web应用中集成。下面我们将详细了解如何利用Aspose.Words在Java中实现这些功能。1. 查找和替换特定单词 首先,让我们看一个...

Word处理控件Aspose.Words功能演示:使用 Java 比较 MS Word 文档
在某些场景下,可能需要明确指定一个文档作为基准来进行比较。Aspose.Words for Java 提供了灵活性来处理这类需求。使用 `CompareOptions.setTarget()` 方法设置目标文档,允许用户在比较过程中有更多针对性。此外,通过 `setGranularity()` 方法,用户还可以调整比较的精细度。比如,可选择仅关注整段文本...

相似回答