今天看啥
热点:

Java-按行+限定条件分割文本


package First;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

public class DealFile {
	public static void main(String[] args) throws Exception{
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		//键入文本名称
		String fileName = in.readLine();
		FileManager source = new FileManager(fileName);
		String head = source.nextWord();
		String word = null;
		int count = 0;
		//int n = 0;
		String n = "-checkIn";
		fileName = fileName.substring(0, fileName.length()-4);
		FileWriter w = null;
		//以逗号和换行符为分割
		String regex = ""+','+"|"+'\n';
		while((word = source.nextWord()) != null){
			String[] strs = word.split(regex);
			//不符合条件
			if(strs.length < 3 || !strs[2].equals("check-in"))
				continue;
			if(count == 0){
				w = new FileWriter(fileName+n+".csv");
				w.write(head);
			}
			//System.out.println(n + ":" + count);
			w.write(word);
			++count;
		}
		w.close();
	}
}

class FileManager{
	int pos = 0;
	File f;
	FileReader reader;
	boolean flag = false;
	
	public FileManager(String filename)throws Exception{
		f = new File(filename);
		reader = new FileReader(f);
	}
	
	public String nextWord() throws IOException{
		if(flag)
			return null;
		char[] buf = new char[1];
		StringBuffer sb = new StringBuffer();
		int len;
		do{
			len = reader.read(buf);
			sb.append(buf[0]);
		}while('\n' != buf[0] && len != -1);
		if(len == -1)
			flag = true;
		return sb.toString();
	}
}

www.bkjia.comtruehttp://www.bkjia.com/Javabc/987359.htmlTechArticleJava-按行+限定条件分割文本 package First;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;...

相关文章

相关搜索: 文本 条件

帮客评论

视觉看点