import java.io.BufferedOutputStream;이 코드를 실행하면 다운로드가 성공했음을 나타냅니다:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream을 사용합니다.
import java.io.OutputStream;
import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class FTPDownloadFile {
public static void main(String[] args) {
서버 문자열 = "ServerAddress";
int 포트 = 21;
문자열 사용자 이름 = "사용자 이름";
문자열 비밀번호 = "yourPassword";
FTPClient ftpClient = 새로운 FTPClient();
{
ftpClient.connect(서버, 포트);
ftpClient.login(사용자 이름, 비밀번호);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP. BINARY_FILE_TYPE);
// 접근법 1: InputStream
File file = new File("plugins and styles.txt");
String FileName = "플러그인 및 styles.txt";
InputStream inputStream = new FileInputStream(file);
System.out.println("다운로드 시작");
//결과 다운로드
boolean res = ftpClient.storeFile(filename, inputStream);
//재생 스트림 닫기
inputStream.close();
if (res==true) {
System.out.println(""+FileName+
" 파일이 성공적으로 다운로드되었습니다.");
}
// 접근법 2: OutputStream
String FileName2 = "Track 2.mp3";
문자열 RemoteFilePath = "/songs/"+FileName2;
파일 filelocal = new File("C:/track 2.mp3");
// 파일이 있는 폴더를 나열하고
// 그런 다음 얻을 이름으로 검색합니다
// 계산에 사용할 크기
// 다운로드의 비율
FTPFile[] files1 = ftpClient.listFiles("/songs");
긴 크기 = 0;
for(int i = 0; 나는< 파일1.길이; i++){
if(files1[i].getName().equals(FileName2))
//파일 크기 가져오기
size = files1[i].getSize();
}
OutputStream outputStream2 = new BufferedOutputStream(
new FileOutputStream(로컬 파일));
InputStream inputStream2 = ftpClient.retrieveFileStream(
RemoteFilePath);
byte[] bytesArray = 새 바이트[4096];
int 바이트읽기 = -1;
//끝에 도달하지 않는 한
int transferred = 0;
int 퍼센트 = 0;
while ((bytesRead = inputStream2.read(bytesArray)) != -1) {
//bytes는 지정된 위치에 기록됩니다
outputStream2.write(bytesArray, 0, bytesRead);
전달됨 += bytesRead;
퍼센트 = (int) (전송됨*100/크기);
System.out.println(백분율+"%");
}
//쓰기 읽기 스트림 닫기
inputStream2.close();
outputStream2.close();
//br //
res = ftpClient.completePendingCommand();
if (res) {
System.out.println(""+FileName2+
" 파일이 성공적으로 다운로드되었습니다.");
}
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} 마지막으로 {
try {
if (ftpClient.isConnected()) {
//FTP
ftpClient.logout();
ftpClient.disconnect()를 호출합니다.
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
다운로드 시작
플러그인 및 styles.txt 파일이 성공적으로 다운로드되었습니다
다운로드 시작
1%
2%
3%
.
.
98%
99%
99%
100%
2.mp3 트랙 파일이 성공적으로 다운로드되었습니다
Please disable your ad blocker and refresh the window to use this website.