Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java SE 综合讨论区 » 编程/算法/API  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 一直未能解决的问题 帮帮忙啊~
吾夲





发贴: 4
积分: 0
于 2009-04-10 20:06 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
//package com.mcm.socket.ftp;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
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 java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;

/*
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
import sun.net.ftp.FtpLoginException;
*/
import it.sauronsoftware.ftp4j.FTPClient;
import it.sauronsoftware.ftp4j.FTPFile;
import it.sauronsoftware.ftp4j.FTPIllegalReplyException;
import it.sauronsoftware.ftp4j.FTPException;
import it.sauronsoftware.ftp4j.FTPDataTransferException;
import it.sauronsoftware.ftp4j.FTPAbortedException;
import it.sauronsoftware.ftp4j.FTPListParseException;

public class FileFtpClient extends JFrame {
private List ftpList ;
JTextField jtfServer;
JTextField jtfUser;
JPasswordField jtfPass;
JButton jbConnect;
JButton jbDisConnect;
JButton jbDownload;
JTextArea jtaShowLists;

public FileFtpClient(){
super("FTP连接与浏览"); //调用父类构造函数
jtfServer=new JTextField(50); //实例化组件
jtfUser=new JTextField(10);
jtfPass=new JPasswordField(10);
jbConnect=new JButton("连接");
jbDisConnect=new JButton("断开");
jtaShowLists=new JTextArea();
jbDownload=new JButton("下载");

Container container=getContentPane(); //得到容器
JPanel panel1=new JPanel(); //实例化面板
JPanel panel2=new JPanel();
panel1.add(new JLabel("URL地址")); //增加组件到面板上
panel1.add(jtfServer);
panel1.add(new JLabel("用户名"));
panel1.add(jtfUser);
panel1.add(new JLabel("密码"));
panel1.add(jtfPass);
container.add(panel1,BorderLayout.NORTH); //增加组件到容器上
JScrollPane jsp=new JScrollPane(jtaShowLists);
container.add(jsp,BorderLayout.CENTER);
jtaShowLists.setLineWrap(true);
panel2.add(jbConnect);
panel2.add(jbDisConnect);
panel2.add(jbDownload);
container.add(panel2,BorderLayout.SOUTH);

jbConnect.addActionListener(new ActionListener(){ //连接按钮事件处理
  public void actionPerformed(ActionEvent ent) {
try{  
  connectServer(); //调用连接服务器的方法
}catch(IOException e){
  e.printStackTrace();
}catch(FTPIllegalReplyException e){
e.printStackTrace();
}catch(FTPException e){
  e.printStackTrace();
}catch(FTPDataTransferException  e){
  e.printStackTrace();
}catch(FTPAbortedException  e){
  e.printStackTrace();
}catch(FTPListParseException e){
  e.printStackTrace();
}
   }
});

jbDisConnect.addActionListener(new ActionListener(){ //连接按钮事件处理
  public void actionPerformed(ActionEvent ent) {
try{
closeConnect(); //调用断开服务器的方法
}catch(FTPIllegalReplyException e){
e.printStackTrace();
}catch(IOException e){
  e.printStackTrace();
}catch(FTPException e) {
  e.printStackTrace();
}
   }
});

jbDownload.addActionListener(new ActionListener(){ //连接按钮事件处理
  public void actionPerformed(ActionEvent ent){
try{
download(); //调用下载服务器的方法
}catch(FTPIllegalReplyException e){
e.printStackTrace();
}catch(IOException e){
  e.printStackTrace();
}catch(FTPException e) {
  e.printStackTrace();
}catch(FTPDataTransferException e)  {
  e.printStackTrace();
}catch(FTPAbortedException e){
  e.printStackTrace();
}
  }
});

setSize(1024,768); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
// ftp客户端
FTPClient ftpClient;

//文件列表
FTPFile[] fileList;

//建立连接
public void connectServer() throws IOException,FTPIllegalReplyException,FTPException,FTPDataTransferException
,FTPAbortedException,FTPListParseException{
  String server=jtfServer.getText();
ftpClient=new FTPClient(server);
ftpClient.setType(2);
ftpClient.login(jtfUser.getText(), jtfPass.getText());
if (jtfServer.getText().equals(""))
JOptionPane.showMessageDialog(null, "Ftp服务器地址不能空!!!");
else if (jtfUser.getText().equals(""))
JOptionPane.showMessageDialog(null, "用户名不能为空!!!");
else if (jtfPass.getText().equals(""))
JOptionPane.showMessageDialog(null, "密码不能为空!!!");
loadFtpList();

}

public void loadFtpList()throws IOException,FTPIllegalReplyException,
FTPException,FTPDataTransferException,FTPAbortedException,FTPListParseException{
  ftpClient=new FTPClient();
  String dir=ftpClient.currentDirectory();
  FTPFile[] files=ftpClient.list(dir);
  for(int i = 0; i < fileList.length; i++) {
String name = files[i].getName();
  }
  
}

//关闭连接
public void closeConnect()throws FTPIllegalReplyException,IOException,FTPException {
//ftpClient = new FTPClient();
ftpClient.disconnect(true);
System.out.println(" disconnect success !!! ");
}


// 从服务器下载文件到本地
public void download() throws FTPIllegalReplyException,IOException,FileNotFoundException,FTPException,
FTPDataTransferException,FTPAbortedException{
String currentdir=ftpClient.currentDirectory();
String filepathname = ftpList.getSelectedItem();
String a=currentdir+filepathname;
File fp=new File("javacode");
    fp.mkdirs();
// 从服务器上下载文件
ftpClient.download(a, fp);
}

public static void main(String args[]){
new FileFtpClient();
}
}

一个简易的FTP客户端程序,要求能够通过用户名,密码以及URL地址浏览和下载FTP服务器上的资源,我不知道错在哪,我使用的第三方FTP功能支持包


吾夲 edited on 2009-04-10 21:07


话题树型展开
人气 标题 作者 字数 发贴时间
10584 一直未能解决的问题 帮帮忙啊~ 吾夲 5635 2009-04-10 20:06

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923