import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;public class TestFile { public static void main(String[] args) { try {
//讀取thkj.txt 并進行篩選 放在集合里
BufferedReader br = new BufferedReader(new FileReader("thkj.txt"));
List<String> list = getFileList(br);
br.close();
//创建新文件并判断是否存在
File file = createFile();
//将筛选的集合写入在创建文件中
BufferedWriter bw = writeFile(list, file);
bw.close();
System.out.println("筛选成功");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
//将筛选的集合写入在创建文件中
private static BufferedWriter writeFile(List<String> list, File file)
throws IOException {
BufferedWriter bw = new BufferedWriter(new FileWriter(file));
for(String str : list){
bw.write(str);
bw.newLine();
bw.flush();
}
return bw;
}
//创建新文件并判断是否存在
private static File createFile() throws IOException {
File file = new File("a.txt");
if(file.exists()){
file.delete();
}
file.createNewFile();
return file;
}
//讀取thkj.txt 并進行篩選 放在集合里
private static List<String> getFileList(BufferedReader br)
throws IOException {
List<String> list = new ArrayList<String>();
String input=null;
System.out.println(br.readLine());
while(br.readLine()!=null){
String strTrim = br.readLine();
System.out.println(strTrim);
if(strTrim!=null){
if(strTrim.endsWith("NOT_IN_PENDINGDELETE")){
input = strTrim;
input = input.substring(4,input.indexOf(".cn")+3);
list.add(input.trim());
}
}
}
return list;
}}输入结果:
.
.
.
thkj hangzhoudayinjiweixiu.cn nowc40407695 NOT_IN_PENDINGDELETE
筛选成功目的:只筛选 第二列 从第四列是 NOT_IN_PENDINGDELETE 的提取但结果发现好多筛选的时候会遗漏掉....
解决方案 »
- Eclipse鼠标悬停提示功能的延迟时间设置
- JAVA编写记事本的时候想实现粘贴功能的代码,但是粘贴的时候会自动换到下一行粘贴,这是为什么?求高手 !!!!!!!
- java模式问题
- IO中的问题
- javac找不到文件(能够运行文件,但不能编译源文件)
- split怎样用
- thinking in java (2nd)第11章的第一个例子编译出错
- 关于JAVA的出错信息的意思~
- applet有前途吗?
- JB中的Error:(59)incompatible types;found:java.lang.String,required:int.
- 正规表达式,只保留html图片代码当中的src="",去掉里面的其它代码
- 一个 基础问题
String strTrim = br.readLine();
System.out.println(strTrim);
if(strTrim!=null){
if(strTrim.endsWith("NOT_IN_PENDINGDELETE")){
input = strTrim;
input = input.substring(4,input.indexOf(".cn")+3);
list.add(input.trim());
}
}
}
每次你读了两行