2016-06-06 8 views
0

CSV 파일이 있는데이 파일을 복사하여 동일한 경로 인 의 이름을으로 변경해야합니다. Java FTPClient를 사용하여 FTP 서버에서 파일을 복사하는 방법은 무엇입니까?

은 내가 FTP 로그인 후이 시도 :

InputStream inputStream = ftpClient.retrieveFileStream(cvs_name +".csv"); 
ftpClient.storeFile(cvs_name2 + ".csv",inputStream); 

을하지만 서버에 파일을 확인하면 비어 있습니다. 파일을 복사하고 이름을 바꾸려면 어떻게해야합니까?

+1

이 질문은 http://stackoverflow.com/questions/11202215/how-to-copy-a-file-on-the-ftp-server-to- [여기] (답하고있다 a-directory-on-the-same-server-in-java) –

+0

나는 그것을 이미 보았다. 그러나 그 경우에는 다른 디렉토리에있다. 나는 같은 디렉토리에서 그것을 사용하면 원본 파일을 덮어 쓰게 될 것이라고 생각한다. 내가 필요로하는 것이 아니라 –

답변

1

나는 귀하의 코드가 작동하지 않을 것이라고 생각합니다. 한 번에 하나의 FTP 연결을 통해 파일을 다운로드하고 업로드 할 수 없습니다.

  • 가 (메모리 임시 파일이나에) 완전히 파일을 먼저 다운로드 :

    당신은 두 가지 옵션이 있습니다.

    How to copy a file on the ftp server to a directory on the same server in java?의 대답은 "to memory"솔루션을 보여줍니다. outputStream.toByteArray() 호출에 유의하십시오.

  • 두 연결 (FTPClient의 두 인스턴스)을 열고 인스턴스간에 파일을 복사하십시오.

    InputStream inputStream = ftpClient1.retrieveFileStream(cvs_name + ".csv"); 
    ftpClient2.storeFile(cvs_name2 + ".csv", inputStream); 
    
+0

아직 서버에 빈 파일이 있습니다. –

+0

**** 첫 번째 옵션 만 작동했습니다. 두 번째는하지 않았습니다. 응답을 편집하면 더 좋을 것이라고 생각합니다! –

관련 문제