Java FTP客户端(未完整)
来源:互联网 发布:oracle12c容器数据库 编辑:程序博客网 时间:2024/05/21 17:12
用Swing做了一个GUI界面,(不过Jtree还没有实现,没有用过,需要研究研究),后台连接server只做了个大概,不过实现应该非常方便,主要是GUI界面的JTree的实现,以tree的方式把文件目录列出来(图贴不上来,NND,网速太慢)
package com.hukefeng.project.ftp;
import java.awt.Rectangle;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JTree;
import javax.swing.SwingUtilities;
import com.enterprisedt.net.ftp.FTPClient;
import com.enterprisedt.net.ftp.FTPConnectMode;
import com.enterprisedt.net.ftp.FTPException;
import com.enterprisedt.net.ftp.FTPTransferType;
import java.awt.Dimension;
import javax.swing.JTextArea;
public class SwingFrameFTPClient extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JTextField jTextField = null;
private JButton jButton = null;
private JLabel jLabel = null;
private JTextField jTextFieldPort = null;
private JTree jTree = null;
private JTree jTree1 = null;
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(103, 55, 127, 24));
jTextField.setText("192.168.18.128");
}
return jTextField;
}
private JTextField Username = null;
private JTextField password = null;
private JLabel jLabel1 = null;
private JLabel jLabel2 = null;
private JLabel jLabel3 = null;
// FTP server address and Port is defined
//Username and Password is defined
private String FTPServerAddr = this.getJTextField().getText().trim();
private int FTPServerPort = Integer.parseInt(this.getJTextFieldPort()
.getText().trim()); // @jve:decl-index=0:
private String UserName = this.getUsername().getText().trim();
private String Password = this.getPassword().getText().trim();
private JLabel Top = null;
private JButton Upload = null;
private JLabel jLabel4 = null;
private JLabel jLabel5 = null;
private JButton download = null;
private JTextArea TextArea = null;
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(465, 55, 106, 24));
jButton.setText("Connect");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
//FTP Client is performed
FTPClient ftpc = new FTPClient();
try {
ftpc.setRemoteHost(FTPServerAddr);
ftpc.setRemotePort(FTPServerPort);
//Connect to FTP server
System.out.println("TTTTTTTTTTTTTTTTtt");
ftpc.connect();
System.out.println("connected");
/**
* 这里需要优化
*/
StringBuffer sb = new StringBuffer();
// SwingFrameFTPClient sfc=new SwingFrameFTPClient();
//////////////
ftpc.login(UserName, Password);
ftpc.setConnectMode(FTPConnectMode.PASV);
ftpc.setType(FTPTransferType.ASCII);
String[] CurrDir = ftpc.dir(".", true);
for (String FileTemp : CurrDir) {
System.out
.println("File in Directory: " + FileTemp);
sb.append(FileTemp).append(
System.getProperty("line.separator"));
}
getTextArea().setText(sb.toString());
ftpc.quit();
} catch (IOException ex) {
// TODO Auto-generated catch block
ex.printStackTrace();
} catch (FTPException ex2) {
// TODO Auto-generated catch block
ex2.printStackTrace();
int code = ex2.getReplyCode();
System.out.println("Error reply code is: " + code);
}
}
});
}
return jButton;
}
/**
* This method initializes jTextFieldPort
*
* @return javax.swing.JTextField
*/
private JTextField getJTextFieldPort() {
if (jTextFieldPort == null) {
jTextFieldPort = new JTextField();
jTextFieldPort.setBounds(new Rectangle(353, 55, 27, 24));
jTextFieldPort.setText("21");
}
return jTextFieldPort;
}
/**
* This method initializes jTree
*
* @return javax.swing.JTree
*/
private JTree getJTree() {
if (jTree == null) {
jTree = new JTree();
jTree.setBounds(new Rectangle(19, 175, 187, 154));
}
return jTree;
}
/**
* This method initializes jTree1
*
* @return javax.swing.JTree
*/
private JTree getJTree1() {
if (jTree1 == null) {
jTree1 = new JTree();
jTree1.setBounds(new Rectangle(440, 178, 187, 154));
}
return jTree1;
}
/**
* This method initializes Username
*
* @return javax.swing.JTextField
*/
private JTextField getUsername() {
if (Username == null) {
Username = new JTextField();
Username.setBounds(new Rectangle(103, 97, 86, 18));
Username.setText("admin");
}
return Username;
}
/**
* This method initializes password
*
* @return javax.swing.JTextField
*/
private JTextField getPassword() {
if (password == null) {
password = new JTextField();
password.setBounds(new Rectangle(363, 97, 92, 18));
password.setText("admin");
}
return password;
}
/**
* This method initializes Upload
*
* @return javax.swing.JButton
*/
private JButton getUpload() {
if (Upload == null) {
Upload = new JButton();
Upload.setBounds(new Rectangle(265, 183, 108, 22));
Upload.setText("upload-->>>");
Upload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("getUpload()"); // TODO Auto-generated Event stub actionPerformed()
}
});
}
return Upload;
}
/**
* This method initializes download
*
* @return javax.swing.JButton
*/
private JButton getDownload() {
if (download == null) {
download = new JButton();
download.setBounds(new Rectangle(268, 282, 108, 22));
download.setText("<<-download");
download.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println("getDownload");
}
});
}
return download;
}
/**
* This method initializes TextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getTextArea() {
if (TextArea == null) {
TextArea = new JTextArea();
TextArea.setBounds(new Rectangle(16, 339, 628, 175));
}
return TextArea;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
SwingUtilities.invokeLater(new Runnable() {
public void run() {
SwingFrameFTPClient thisClass = new SwingFrameFTPClient();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
/**
* This is the default constructor
*/
public SwingFrameFTPClient() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(686, 559);
this.setContentPane(getJContentPane());
this.setTitle("SwingFTPClient");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel5 = new JLabel();
jLabel5.setBounds(new Rectangle(464, 141, 107, 25));
jLabel5.setText("Server File System");
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(46, 142, 107, 25));
jLabel4.setText("Local File System");
Top = new JLabel();
Top.setBounds(new Rectangle(283, 18, 63, 34));
Top.setText("FTP Client");
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(295, 59, 38, 20));
jLabel3.setText("Port");
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(272, 97, 77, 18));
jLabel2.setText("Password");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(11, 97, 70, 18));
jLabel1.setText("Username");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(11, 55, 70, 24));
jLabel.setText("IP Address");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(jLabel, null);
jContentPane.add(getJTextFieldPort(), null);
jContentPane.add(getJTree(), null);
jContentPane.add(getJTree1(), null);
jContentPane.add(getUsername(), null);
jContentPane.add(getPassword(), null);
jContentPane.add(jLabel1, null);
jContentPane.add(jLabel2, null);
jContentPane.add(jLabel3, null);
jContentPane.add(Top, null);
jContentPane.add(getUpload(), null);
jContentPane.add(jLabel4, null);
jContentPane.add(jLabel5, null);
jContentPane.add(getDownload(), null);
jContentPane.add(getTextArea(), null);
}
return jContentPane;
}
} // @jve:decl-index=0:visual-constraint="10,10"
- Java FTP客户端(未完整)
- 用WinINet Api 开发FTP客户端 (三) ------ 完整代码
- java ftp客户端源代码
- Ftp客户端java类库
- Java FTP客户端
- 未看(c#ftp)
- FTP客户端(改进)
- Java FTP客户端库回顾
- Java FTP客户端类库
- java ftp客户端上传源代码
- JAVA SOCKET 实现 FTP 客户端
- java socket 实现FTP客户端
- java简单的FTP客户端
- 基于FTP4J组件的FTP操作客户端(未测试)
- ActiveMQ完整的java客户端例子(源码)
- ftp 客户端实现(1)--FTP格式
- 开启FTP客户端(编程)
- [Java]简单的FTP客户端 sun.net.ftp.FtpClient
- Internship in Citigroup Software Technology and Services(CSTS)(1)---A Fresh Begining
- SAP专家:SOA使公司数据随时可用
- Windows 核心编程研究系列之二:读取指定物理内存地址中的内容
- Cocoon Project
- 显示ip时,如何把255.255.255.255显示成255.255.*.*
- Java FTP客户端(未完整)
- 《C++ Primer》学习笔记——第四章表达式
- 给我留言讨论问题的朋友请注意了!
- “酷”是抗争,非我本性
- Oracle 8i 中的union all不支持null
- 一道简单题目的复杂算法
- Java EE 5.0 SDK Update 2 提供下载
- Apache中虚拟主机的配制
- ASP.NET中的ajax