package com.test0613;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
// 반드시 암기해야하는 파일 복사 소스(업로드 할 떄 필요)
public class Test4 {
public static void main(String[] args) {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try{
String s1,s2;
System.out.print("원본파일명?");
// c:\\source\\Test.java 식으로 입력함
// (폴더가 존재해야 함)
s1=br.readLine();
System.out.print("복사할 파일명 ?");
// c:\\source\\Demo.java 식으로 입력함
// (폴더가 존재해야 함)
s2=br.readLine();
FileInputStream fis=new FileInputStream(s1);
FileOutputStream fos=new FileOutputStream(s2);
byte[] b= new byte[1024]; // 바이트스트림이므로 byte배열을 사용하였다. int 쓰면 에러난다.
//1024는 임의로 잡은 것이다. 일반적으로 512나 1024로 크기를 잡는다
int len;
while((len=fis.read(b, 0, b.length))!=-1){ // b배열의 0번째 부터 배열길이를 구해서 len에 리턴해준다.
fos.write(b, 0, len); // 그 길이만큼 문자가 존재하면 반복해서 출력한다.
}
fos.flush(); // 예로 100바이트씩 자료를 출력하는 메모리가 100바이트가 차지 않아도 출력하도록 해주는 명령
fos.close();
fis.close();
}catch(Exception e){
System.out.println(e.toString());
}
}
}
'자바 DB 연동 > 입출력 스트림' 카테고리의 다른 글
File 클래스 - 폴더만들기, 파일정보구하기 (0) | 2013.06.14 |
---|---|
flush 메소드 (0) | 2013.06.14 |
FileOutputStream / FileInputStream 업로드의 기초 (1) | 2013.06.14 |
InputStreamReader (1) | 2013.06.14 |
System.in.read() (0) | 2013.06.14 |