📄 downloadfile.java
字号:
/*源程序清单12-24*/
package ftp;
import sun.net.ftp.*;
import java.util.*;
import java.io.*;
import java.net.*;
class DownloadFile extends Thread
{//下载文件类,作为一个线程,可同时下载多个文件
String ip="";
String username="";
String password="";
String path="";
String filename="";
String directory="";
MainFrame frame=null;
public DownloadFile(MainFrame frame,String ip,String username,String password,String path,String filename,String userpath)
{
this.ip=ip;
this.username=username;
this.password=username;
this.path=path;
this.filename=filename;
this.directory=userpath;
this.frame=frame;
}
public void run()
{
try
{
String savefilename=directory;
FtpClient ftpClient=new FtpClient();
ftpClient.openServer(ip);
ftpClient.login(username, password);
if (path.length()!=0) ftpClient.cd(path);
ftpClient.binary();
InputStream is=ftpClient.get(filename);
File file_out=new File(savefilename);
FileOutputStream os=new FileOutputStream(file_out);
byte[] bytes=new byte[1024];
int c;
frame.list1.add(filename);
frame.textArea1.append("正在下载文件"+filename+" ,请稍候...\n");
while ((c=is.read(bytes))!=-1)
{
os.write(bytes,0,c);
}
frame.list1.remove(filename);
frame.textArea1.append("文件"+filename+"下载完成.\n");
is.close();
os.close();
ftpClient.closeServer();
frame.downFile.removeElement(this);
stop();
}
catch(Exception e)
{
frame.textArea1.append("文件"+filename+"下载出错!\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -