按月切分文件
要切分的文件是这样的:
1)一个800M的txt
2)每行以日期开头,后面跟着一堆数据,就像这样:"2014-01-01 00:00:00";111;222;333;55;5;4;6;41321;1;3;0;0;555..................................
3)想把每个月的数据放入一个txt中
public static void method5() throws IOException {
DecimalFormat df = new DecimalFormat() ;
//将月份格式化为01-12
df.applyPattern("00");
BufferedReader br=new BufferedReader(new FileReader("C:\\Users\\Ahuuua\\Desktop\\data\\all.txt"));
String line="";
//每个月的所有行放入temp
String temp="";
for(int year=2011;year<=2015;year++){
for(int month=1;month<=12;month++){
while(true){
line=br.readLine();
//以 "20XX-XX开头
String start="\""+year+"-"+df.format(month);
//以20XX-XX命名文件
String name=year+"-"+df.format(month);
if(line.startsWith(start)){
temp=temp+line+"\n";
}else {
BufferedWriter bw=new BufferedWriter(
new FileWriter(
new File(
"C:\\Users\\Ahuuua\\Desktop\\data\\month\\"+name+".txt")));
bw.write(temp);
bw.close();
System.out.println(temp);
//保留下个月第一行数据,即一月数据
temp=line;
break;
}
}
}
}
br.close();
System.out.println();
}