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

2025-02-25 11:07:50
推荐回答(4个)
回答1:

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 list = new ArrayList();
getList(dir, list);

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

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

//删除指定文件夹
// removedir(dir);
}
public static void getList(File dir, ArrayList 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 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 list) {
for(File file : list){
System.out.println(file.getAbsolutePath());
}
}
}

回答2:

你想提取文本中认为有用的信息可以用到java的正则表达式。
但是你想获取的文本应该是有规律的(能够用正则表达式提取:比如:url....),否则无法实现。

回答3:

我觉得可以用regex提取,但主要还是看您如何定义有用

回答4:

什么叫有用信息?他们有什么规则?