import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.Vector;
public class logDiv {
public static void main(String[] agrs) throws IOException {
Scanner sn;
File fl;
BufferedWriter bw;
FileWriter fw;
Vector<String> vc = new Vector<String>();
int x = 0; //Scanner에서 읽어들인 총 라인수를 저장
int y = 0; //백터에 저장된 값을 get할때 사용(라인을 끊을때 기준점)
int g = 0; //저장될 파일의 Seq
String data; //백터에 하기전 임시로 String 변수에 저장하여 백터로 저장
fl = new File("./log/logfile.log.2009-10-15"); //로그가 저장되있는 파일
sn = new Scanner(fl);
while (sn.hasNext()) { //읽어온 파일에 내용이 없을때까지
data = sn.nextLine(); //한줄씩 읽어와서 String형 변수에 저장
vc.add(data); //String형 변수에 저장된 값을 백터에 삽입
x++; //읽어온 라인 카운트
}
if (x > 0) { //읽어온 라인이 0이 아닐때
for (int i = y; i < y + 100; i++) { //y에 100을 더하여 100줄씩 끊겠다고 지정
if (x == y) {
break; //x와 y가 같다는 말은 읽어올 줄이 더이상 없다는 뜻이므로 break
} else {
fw = new FileWriter("./log/logDiv_" + g ++ + ".log");
bw = new BufferedWriter(fw);
}
for (int j = 0; j < 100; j++) { //실제로 내용을 끊어 내는 for문 j<100은 100줄씩 끊겠다는 의미
if (x == y) {
break; //x와 y가 같다는 말은 읽어올 줄이 더이상 없다는 뜻이므로 break
}
bw.write(vc.get(y)); //백터에서 y번째 값을 뽑아와서 다른파일에 입력
bw.newLine(); //write만 쓴다면 다음줄로 내려가지 않기때문에 꼭 newLine() 호출
bw.flush(); //flush를 사용하여 파일에 입력
y++; //y++을 함으로써 다음 백터에서 읽어올 장소 지정
}
}
}
}
}