자바 분할 프로그램 질문드려요
조은
안녕하세요 C로 파일분할 프로그램을 완성하고 자바로 짜보는 중인데요
실행 형식은 예를 들어 cmd창에서 java split test.txt 10 이런식으로 입력하면
파일이 10kbyte단위로 test.txt0, test.txt1 이런식으로 분할이 되게 만들고 싶은데요.
며칠 삽질하다가 파일을 드디어 분할은 시켰는데 조금 문제가 있네요.
지금 단계가 명령어를 실행하면 test.txt0파일이 생기긴 하는데 이 파일이 텍스트 파일도 아니고 좀 요상하게 생겼네요.
어떤 문제점이 있는건지 조언좀 부탁드립니다^^
소스 첨부할게요.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class split1 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
File fp = null;
File op = null;
BufferedWriter out = null;
BufferedReader in = null;
if(args.length 2)
{
System.out.println(사용법 : java split 원본 파일 분할 사이즈);
System.exit(1);
}
fp = new File(args[0].trim());
if(!fp.exists ())
System.out.println(원본 파일이 존재하지 않습니다 : + fp.getPath());
while(true)
{
int size = Integer.parseInt(args[1])*1024;
char [] buff = new char[1024];
in = new BufferedReader(new FileReader(args[0].trim()));
int total = 0;
int sum=0;
int filecnt = 0;
sum = in.read(buff, 0, buff.length);
if(sum = 0) {
in.close();
break;
}
if(total == 0) {
String outline = new String(args[0] + filecnt);
out = new BufferedWriter(new FileWriter(outline.trim()));
op = new File(outline.trim());
}
total += sum;
out.write(buff, 0, sum);
if(total == size) {
out.close();
total=0;
}
}
in.close();
}
}