반응형
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class CopyDir { public static void copyDirectory( File sourcelocation, File targetdirectory ) throws IOException { // 디렉토리인 경우 if ( sourcelocation.isDirectory() ) { // 복사될 Directory가 없으면 만듭니다. if ( !targetdirectory.exists() ) { targetdirectory.mkdir(); } String[] children = sourcelocation.list(); for ( int i = 0; i < children.length; i++ ) { copyDirectory( new File( sourcelocation, children[i] ), new File( targetdirectory, children[i] ) ); } } else { // 파일인 경우 InputStream in = new FileInputStream( sourcelocation ); OutputStream out = new FileOutputStream( targetdirectory ); byte[] buf = new byte[1024]; int len; while ( ( len = in.read( buf ) ) > 0 ) { out.write( buf, 0, len ); } in.close(); out.close(); } } public static void main( String[] args ) throws IOException { File source = new File( "c:\\LOG" ); File target = new File( "c:\\Temp" ); copyDirectory( source, target ); } }
반응형