?? ftp1.java
字號(hào):
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.JToolBar;
import javax.swing.DefaultListModel;
import javax.swing.JTree;
import sun.net.TelnetInputStream;
import sun.net.ftp.FtpClient;
import sun.net.ftp.FtpLoginException;
public class Ttt
extends JFrame
implements ActionListener {
FtpClient ftp = null;
private List list = new List();
private JPanel FtpClientFrame = new JPanel(new BorderLayout());
private JPanel FtpClientFrameOne = new JPanel(new FlowLayout(FlowLayout.
LEFT));
private JPanel FtpClientFrameTwo = new JPanel(new GridLayout(1, 8));
private JPanel FtpClientFrameThree = new JPanel(new GridLayout(2, 1));
private JPanel FtpClientFrameFour = new JPanel(new GridLayout(1, 2));
//連接、斷開按鈕
private JButton linkButton = new JButton("Link");
private JButton breakButton = new JButton("Break");
//連接狀態(tài)
private JLabel statusLabel = new JLabel();
//用戶登錄
private JLabel urlLabel = new JLabel("Ftp URL:");
private JLabel usernameLabel = new JLabel("username:");
private JLabel passwordLabel = new JLabel("password:");
private JLabel portLabel = new JLabel("port:");
private JTextField urlTextField = new JTextField(10);
private JTextField usernameTextField = new JTextField(10);
private JTextField passwordTextField = new JTextField(10);
private JTextField portTextField = new JTextField(10);
//本地、遠(yuǎn)程窗口
DefaultListModel modelList = new DefaultListModel();
private JList localList = new JList();
private JList distanceList = new JList();
JScrollPane localScrollPane = new JScrollPane(localList);
JScrollPane distanceScrollPane = new JScrollPane(distanceList);
//本地、遠(yuǎn)程目錄樹
private JTree localTree;
private JTree ServerTree;
public Ttt() {
FtpClientFrameOne.add(linkButton);
FtpClientFrameOne.add(breakButton);
FtpClientFrameOne.add(statusLabel);
FtpClientFrameTwo.add(urlLabel);
FtpClientFrameTwo.add(urlTextField);
FtpClientFrameTwo.add(usernameLabel);
FtpClientFrameTwo.add(usernameTextField);
FtpClientFrameTwo.add(passwordLabel);
FtpClientFrameTwo.add(passwordTextField);
FtpClientFrameTwo.add(portLabel);
FtpClientFrameTwo.add(portTextField);
FtpClientFrameThree.add(FtpClientFrameOne);
FtpClientFrameThree.add(FtpClientFrameTwo);
FtpClientFrameFour.add(localScrollPane);
FtpClientFrameFour.add(list);
FtpClientFrame.add(FtpClientFrameThree, "North");
FtpClientFrame.add(FtpClientFrameFour, "Center");
setContentPane(FtpClientFrame);
setTitle("Ftp客戶端");
setSize(600, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
linkButton.addActionListener(this);
breakButton.addActionListener(this);
}
public String getDir(String path) {
String dirName;
int ch;
int begin = 55;
dirName = path.substring(begin).trim();
return dirName;
}
public void loadList() {
StringBuffer buf = new StringBuffer();
int ch;
list.removeAll();
try {
TelnetInputStream t = ftp.list();
t.setStickyCRLF(true);
while ( (ch = t.read()) >= 0) {
if (ch == '\n') {
list.add(getDir(buf.toString()));
buf.setLength(0);
}
else {
buf.append( (char) ch);
}
}
}
catch (IOException e) {
e.printStackTrace();
}
list.validate();
}
public void actionPerformed(ActionEvent evt) {
Object source = evt.getSource();
if (source == linkButton) {
//連接Ftp服務(wù)器
try {
if (ftp != null)
ftp.closeServer();
statusLabel.setText("連接中,請(qǐng)等待.....");
ftp = new FtpClient(urlTextField.getText());
ftp.login(usernameTextField.getText(),
passwordTextField.getText());
ftp.binary();
}
catch (FtpLoginException e) {
JOptionPane.showMessageDialog(null, "Login Failure!!!");
e.printStackTrace();
}
catch (IOException e) {
JOptionPane.showMessageDialog(null,
urlTextField.getText() + "Connection Failure!!!");
e.printStackTrace();
}
catch (SecurityException e) {
JOptionPane.showMessageDialog(null, "No Purview!!!");
e.printStackTrace();
}
if (urlTextField.getText().equals(""))
JOptionPane.showMessageDialog(null, "Ftp服務(wù)器地址不能空!!!");
else if (usernameTextField.getText().equals(""))
JOptionPane.showMessageDialog(null, "用戶名不能為空!!!");
else if (passwordTextField.getText().equals(""))
JOptionPane.showMessageDialog(null, "密碼不能為空!!!");
else
statusLabel.setText("已連接到Ftp:" + urlTextField.getText());
loadList();
}
if (source == breakButton) {
System.exit(0);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Ttt ftpClientFrame = new Ttt();
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -