import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
/**
* 작성자 : 어셈블링블링
* 설명 : ftp를 이용한 파일전송.
*/
public class FileUploadFtpClient {
FTPClient ftpClient = null;
//생성자를 통해 ftp 설정을 한다.
public FileUploadFtpClient(String url, int port, String id, String pw){
this.ftpClient = new FTPClient();
try {
ftpClient.connect(url, port);
ftpClient.login(id, pw);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
}catch (IOException ex) {
//System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
}
}
//경로, 파일명, 파일을 받아 해당 경로에 파일을 파일명으로 저장한다.
public boolean put(String path, String file_name, File file){
boolean bReault = false;
InputStream inputStream = null;
try {
//경로를 / 구분
String path_arr[] = path.split("/");
for(int i = 0 ; i < path_arr.length ; i++){
String directory = path_arr[i];
if(directory != null && directory.length() > 0){
//경로를 찾아 들어 간다.
//경로가 없는 경우 경로 생성
if(!ftpClient.changeWorkingDirectory(directory)){
ftpClient.makeDirectory(directory);
ftpClient.changeWorkingDirectory(directory);
}else{
ftpClient.changeWorkingDirectory(directory);
}
}
}
inputStream = new FileInputStream(file);
//저장하고 경과 리턴받음.
bReault = ftpClient.storeFile(file_name, inputStream);
//System.out.println("bReault" + " : " + bReault);
}catch (IOException ex) {
bReault = false;
//System.out.println("Error: " + ex.getMessage());
ex.printStackTrace();
}finally{
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
disconnect();
}
return bReault;
}
//ftp 연결을 해제한다.
public void disconnect(){
try {
if (ftpClient.isConnected()) {
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
댓글좀.....달아주세용~~
피드 구독하기:
댓글 (Atom)
[lunux]리눅스 폴더별 용량 확인
리눅스 폴더별 용량 확인 조회 하고자 하는 디렉토리 리스트가있는 경로로 이동후 du -h --max-depth=1
-
pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId&g...
-
수십대의 서버에 특정 쉘을 실행한다거나 파일을 수정해야할경우 호스트 입력 아이디 입력 패스워드 입력은 여간 짜증나는일이 아닐수 없다. 이를 한방에 해주는 방법 teraterm 를 설치한다( putty 는 버리자 ) 예를 들면 19...
-
다른 페이지로 이동 해서 프로세스 실행후 다시 이전 페이지로 돌아와야할경우 page url 을 파라미터로 넘겨야 하는데 location.protocol : 프로토콜 예) https: location.host : 도메인 예) naver.com l...
잘 보았습니다 서버는 어떻게하나염 ????
답글삭제