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");
ArrayListlist = 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, ArrayListlist) {
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, ArrayListlist) 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(ArrayListlist) {
for(File file : list){
System.out.println(file.getAbsolutePath());
}
}
}
你想提取文本中认为有用的信息可以用到java的正则表达式。
但是你想获取的文本应该是有规律的(能够用正则表达式提取:比如:url....),否则无法实现。
我觉得可以用regex提取,但主要还是看您如何定义有用
什么叫有用信息?他们有什么规则?