본문 바로가기
JAVA

자바로 FTP Client 구현 (put, get)

by 정윤재 2009. 3. 3.

package MCP;
import sun.net.*;
import sun.net.ftp.*;
import java.io.*;
public class FTPTest {
 public static void main(String[] args){
  
  String server    =   "211.189.143.201";//ftp 서버 돌아가는 IP
  String user     =  "mcpenv";
  String password    =  "mtelo123";
  String path     =  "/";//파일이 있는 경로
  String downPath    =  "c:/test/";//파일을 다운 받을 경로
  String testFileName   =  "CampRegDAO.class";
  
  String upPath    =  "/VrsTest/";//업로드 될 경로
  String upFile    =  "1.txt";
  
  // 업로드 되는 소스(put)
  try{
     FtpClient ftpClient =  new FtpClient();
   
     ftpClient.openServer(server);
   
        ftpClient.login(user, password);
       
        if ( path.length() != 0 ) ftpClient.cd(path);//실제 파일이 있는 경로
       
        ftpClient.binary();
       
        TelnetInputStream is = ftpClient.get(testFileName);
       
        File file_out = new File(downPath+testFileName);
       
        FileOutputStream os = new
       
        FileOutputStream(file_out);
       
        byte[] bytes=new byte[1024];
       
        int count;
        while ( ( count = is.read(bytes)) != -1 ) {
           os.write(bytes,0,count);
        }
        is.close();
        os.close();
        ftpClient.closeServer();
   
   
  }catch(Exception e){
   e.printStackTrace();
  }
  
  
  // 다운로드 소스(get)
  try{
    FtpClient ftpClient  = new FtpClient();
    
    ftpClient.openServer(server);
    
    ftpClient.login(user, password);
    
    if (path.length()!=0) ftpClient.cd(upPath);//업로드 될 경로
    
    ftpClient.binary();
    
    TelnetOutputStream os = ftpClient.put(upFile);
    
    File file_in=new File("c:/"+upFile);// 올릴 파일의 객체 생성(upload될
    
    FileInputStream is  = new FileInputStream(file_in);
    
    byte[] bytes   = new byte[1024];
    
    int count;
    
    while ((count = is.read(bytes))!= -1){
            os.write(bytes,0,count);
         }
        
    is.close();
        
    os.close();
        
    ftpClient.closeServer();
   
  }catch(Exception ee){
   ee.printStackTrace();
  }
  
  
  
 }
}


댓글