在一个文件中,读取很多个txt文件,并根据关键字显示其内容
我这里搜索的市一个G盘下的test文件夹
package one;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
public class testIO {
public static void readTestFile(String testFile,String key){
try {
String encoding="GBK";
File file = new File(testFile);
if(file.isFile()&&file.exists()){
InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding);
BufferedReader bufferedReader = new BufferedReader(read);
String lineTet = null;
int num=0;
while((lineTet=bufferedReader.readLine())!=null){
if(lineTet.indexOf(key)==0){
System.out.println(lineTet);
}
}
read.close();
}else{
System.out.println("找不到指定文件");
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
System.out.println("读取错误啊");
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
然后直接创建测试类测试里面是否能完成
package one;
import java.io.File;
public class test {
@SuppressWarnings("static-access")
public static void main(String[] args) {
File fileDir =new File("G:\\test");
File[] testFile = fileDir.listFiles();
testIO ti = new testIO();
String key="ip";
if(testFile.length>0){
for(int i=0;i<testFile.length;i++){
if(testFile[i].isFile()&&testFile[i].getName().endsWith(".txt")){
ti.readTestFile(testFile[i].getAbsolutePath(), key);
}
}
System.out.println(testFile.length);
}else{
System.out.println("这个文件夹中没有txt文件");
}
}
}
面先判断出这个文件夹有多少个txt的文件,把有的都显示出来,在进行下一步的判断,让有的在进行关键字搜索,关键字是ip,然后在显示出来
浙公网安备 33010602011771号