第一范文网 - 专业文章范例文档资料分享平台

计算机网络课程设计报告(FTP客户端的设计与实现)

来源:用户分享 时间:2025/6/2 22:06:46 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

FTP客户端的设计与实现

private JTextField password = new JTextField(); //密码 private JTextField status = new JTextField();//当前状态

private JButton connectButton=new JButton(\连接\连接按钮

private JButton closeButton=new JButton(\断开连接\断开连接按钮

private JPopupMenu popup = new JPopupMenu();;

private JMenuItem refresh = new JMenuItem(\刷新\右键弹出菜单 private JMenuItem delete = new JMenuItem(\删除\

private JMenuItem download = new JMenuItem(\下载\ private JMenuItem upload = new JMenuItem(\上传\ private JMenuItem rename = new JMenuItem(\重命名\private JMenuItem upDir = new JMenuItem(\上级目录\

private JMenuItem showLog = new JMenuItem(\显示日志信息\

final DefaultListModel m=new DefaultListModel(); //显示文件列表 JList fileList = new JList(m); JScrollPane fileScrollPane;

private Dimension faceSize = new Dimension(400, 600); //框架大小

public FTP() {

init();

createPopup(); //弹出菜单 time = new Date(); try {

write = new FileWriter(\

out = new PrintWriter(write,true); }

catch(IOException ioe) { ioe.printStackTrace(); }

status.setEditable(false);

this.add(status,BorderLayout.SOUTH); //下方

connectButton.addActionListener( new ActionListener() {

public void actionPerformed(ActionEvent e) {

connect();

第 8 页 共 27 页

FTP客户端的设计与实现

}

});

closeButton.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

close();

time = new Date();

out.println(time+\离开服务器:\

} });

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //添加框架的关闭事件处理

this.pack();

this.setSize(faceSize); //设置框架的大小

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); this.setLocation( (int) (screenSize.width - faceSize.getWidth()) / 2,

(int) (screenSize.height - faceSize.getHeight()) / 2);

this.setResizable(false);

this.setTitle(\服务端\ //设置标题

setVisible(true);

this.addWindowListener( //关闭程序时的操作

new WindowAdapter() {

public void windowClosing(WindowEvent e) {

close();

System.exit(0); } } ); }

void init() {

Container contentPane = getContentPane(); //获取面板

第 9 页 共 27 页

FTP客户端的设计与实现

contentPane.setLayout(new BorderLayout()); //设置布局

JPanel up = new JPanel(); //设置面板上方控件布局 up.setLayout(new GridLayout(3,2)); url.setText(\port.setText(\

username.setText(\password.setText(\JPanel no1 = new JPanel(); no1.setLayout(new BorderLayout());

no1.add(new JLabel(\服务器:\no1.add(url,BorderLayout.CENTER);

JPanel no2 = new JPanel(); no2.setLayout(new BorderLayout());

no2.add(new JLabel(\端口号:\

no2.add(port,BorderLayout.CENTER);

JPanel no3 = new JPanel(); no3.setLayout(new BorderLayout());

no3.add(new JLabel(\用户名:\no3.add(username,BorderLayout.CENTER);

JPanel no4 = new JPanel(); no4.setLayout(new BorderLayout());

no4.add(new JLabel(\密码 :\no4.add(password,BorderLayout.CENTER); up.add(no1); up.add(no2); up.add(no3); up.add(no4);

up.add(connectButton); up.add(closeButton);

closeButton.setEnabled(false);

this.add(up,BorderLayout.NORTH); //上方 fileScrollPane = new JScrollPane(fileList,

JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);

fileScrollPane.setPreferredSize(new Dimension(300,400));

第 10 页 共 27 页

FTP客户端的设计与实现

}

this.add(fileScrollPane,BorderLayout.CENTER); //中部

3.2.2功能实现函数

使用SUN公司提供的FTP客户端类库。 主要包括4个类:

sun.net.TelnetInputStream sun.net.TelnetOutputStream sun.net.ftp.FtpClient

sun.net.ftp.FtpLoginException

编写FtpBean类实现业务逻辑,包含一个FtpClient类的对象ftpClient。包含的方法如下: (1) 建立连接

String connect(String dir, String hostname, int port, String username,String passwd) 使用 ftpClient = new FtpClient(hostname, port); ftpClient.login(username, passwd); (2) 获取文件名列表

List getFileNameList()

使用 InputStreamReader isr = null; BufferedReader br = null;

isr = new InputStreamReader(this.ftpClient.nameList(this.getDir())); br = new BufferedReader(isr); 获取输入流来得到目录中的文件信息 (3) 判断路径

boolean isDir(String line)

使用line.startsWith(\来判断

(4) 设置路径

boolean setPath(String path)

使用ftpClient.cd(path);实现

(5) 上传文件

boolean uploadFile(String localFile, String targetFileName)

使用 ftpClient.cd(path);实现

(5) 上传文件

第 11 页 共 27 页

计算机网络课程设计报告(FTP客户端的设计与实现).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4ncdd92rpj6msol1o41t_3.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top