import java.io.BufferedOutputStream;执行此代码表示下载成功:
导入 java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
导入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) {
Server String = ServerAddress”;
int 端口 = 21;
字符串 username = YourUserName”;
字符串密码 = yourPassword”;
FTPClient ftpClient = new FTPClient();
try {
ftpClient.connect(server, port);
ftpClient.login(用户名、密码);
ftpClient.enterLocalPassiveMode();
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
// 方法一:使用 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+
已成功下载”);
}
// 方法二:使用 OutputStream
String 上传文件 FileName2 = Track 2.mp3”;
字符串 RemoteFilePath = /songs/”+FileName2;
文件 filelocal = new File(C:/Track 2.mp3”);
// 列出文件所在的文件夹 and
// 然后用名字搜索它以获得
// 它的大小,用于计算
// download
FTPFile[] files1 = ftpClient.listFiles(/songs”);
long size = 0;
for(int i = 0;我<文件1.长度;i++){
if(files1[i].getName().equals(FileName2))
//获取文件大小
size = files1[i].getSize();
}
OutputStream outputStream2 = new BufferedOutputStream(
new FileOutputStream(local file));
InputStream inputStream2 = ftpClient.retrieveFileStream(
RemoteFilePath);
byte[] bytesArray = 新字节[4096];
int bytesRead = -1;
//只要我们还没有到达终点
int transfer = 0;
int 百分比 = 0;
while ((bytesRead = inputStream2.read(bytesArray)) != -1) {
//字节写入指定位置
outputStream2.write(bytesArray, 0, bytesRead);
转发 += bytesRead;
percent = (int) (transferred*100/size);
System.out.println(百分比+%”);
}
//close write read streams
inputStream2.close();
outputStream2.close();
//br //
res = ftpClient.completePendingCommand();
if (res) {
System.out.println(文件”+FileName2+
已成功下载”);
}
} catch (IOException e) {
System.out.println(e.getMessage());
e.printStackTrace();
} finally {
try {
if (ftpClient.isConnected()) {
//close FTP
ftpClient.logout();
ftpClient.disconnect();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
开始下载
插件和styles.txt文件已下载成功
开始下载
1%
2%
3%
.
.
98%
99%
99%
100%
2.mp3 Track file 已成功下载
Please disable your ad blocker and refresh the window to use this website.