求可以实现功能的ftp客户端源程序 求一个ftp的客户端源代码,VC的java的都可以。。能够实现简单的下载上传就可以。。带界面的。。在网上找的大多数都不能用,有些运行没错,但不能实现上传或者下载等等问题。。求一份可以实现功能的,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【slz0303】截止到2008-06-23 15:13:08的历史汇总数据(不包括此帖):发帖数:8 发帖分:570 结贴数:5 结贴分:470 未结数:3 未结分:100 结贴率:62.50 % 结分率:82.46 % 楼主加油 我在程序员联合开发网上看到了些程序,但下载需要会员并上传过代码的。。想谁如果是会员,能借我用户名用一下,或者帮下载一些东西同样给分的。。http://www.programsalon.com/downloads27/sourcecode/windows/network/detail87101.html http://www.open-open.com/35.htm或者搜索下 FileZilla sourceforge.net有源码着急的又没人帮忙的时候要多利用下搜索引擎啊 唉。。我一直在网上找呢。。找到的有一点问题。。希望有比较熟悉java和ftp的人帮下忙。。谢谢zealVampire import java.io.BufferedReader;import java.io.DataInputStream;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import sun.net.TelnetInputStream;import sun.net.TelnetOutputStream;import sun.net.ftp.FtpClient;public class Test { FtpClient ftpClient; /** * connectServer 连接ftp服务器 * * @throws java.io.IOException * @param path * 文件夹,空代表根目录 * @param password * 密码 * @param user * 登陆用户 * @param server * 服务器地址 */ public void connectServer(String server, String user, String password, String path) throws IOException { // server:FTP服务器的IP地址;user:登录FTP服务器的用户名 // password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径 ftpClient = new FtpClient(); ftpClient.openServer(server); ftpClient.login(user, password); // path是ftp服务下主目录的子目录 if (path.length() != 0) ftpClient.cd(path); // 用2进制上传、下载 ftpClient.binary(); } /** * upload 上传文件 * * @throws java.lang.Exception * @return -1 文件不存在 -2 文件内容为空 >0 成功上传,返回文件的大小 * @param newname * 上传后的新文件名 * @param filename * 上传的文件 */ public long upload(String filename, String newname) throws Exception { long result = 0; TelnetOutputStream os = null; FileInputStream is = null; try { java.io.File file_in = new java.io.File(filename); if (!file_in.exists()) return -1; if (file_in.length() == 0) return -2; os = ftpClient.put(newname); result = file_in.length(); is = new FileInputStream(file_in); byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } } finally { if (is != null) { is.close(); } if (os != null) { os.close(); } } return result; } /** * upload * * @throws java.lang.Exception * @return * @param filename */ public long upload(String filename) throws Exception { String newname = ""; if (filename.indexOf("/") > -1) { newname = filename.substring(filename.lastIndexOf("/") + 1); } else { newname = filename; } return upload(filename, newname); } /** * download 从ftp下载文件到本地 * * @throws java.lang.Exception * @return * @param newfilename * 本地生成的文件名 * @param filename * 服务器上的文件名 */ public long download(String filename, String newfilename) throws Exception { long result = 0; TelnetInputStream is = null; FileOutputStream os = null; try { is = ftpClient.get(filename); java.io.File outfile = new java.io.File(newfilename); os = new FileOutputStream(outfile); byte[] bytes = new byte[1024]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); result = result + c; } } catch (IOException e) { e.printStackTrace(); } finally { if (is != null) { is.close(); } if (os != null) { os.close(); } } return result; } /** * 取得某个目录下的所有文件列表 * */ public List getFileList(String path) { List list = new ArrayList(); try { DataInputStream dis = new DataInputStream(ftpClient.nameList(path)); BufferedReader bfr = new BufferedReader(new InputStreamReader(dis)); String filename = ""; while ((filename = bfr.readLine()) != null) { list.add(filename); } } catch (Exception e) { e.printStackTrace(); } return list; } /** * closeServer 断开与ftp服务器的链接 * * @throws java.io.IOException */ public void closeServer() throws IOException { try { if (ftpClient != null) { ftpClient.closeServer(); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) throws Exception { Test ftp = new Test(); try { // 连接ftp服务器 ftp.connectServer("localhost", "username", "password", ""); System.out.println("connected"); /** 上传文件到 ftp默认 文件夹下 */ System.out.println("filesize:" + ftp.upload("wyl1.jpg") + "字节"); /** 取得ftp默认文件夹下的所有文件列表,并下载到 D盘 received文件夹下 */ List list = ftp.getFileList("."); for (int i = 0; i < list.size(); i++) { String filename = (String) list.get(i); System.out.println(filename); ftp.download(filename, "D:/received/" + filename); } } catch (Exception e) { e.printStackTrace(); } finally { ftp.closeServer(); } }}没有界面 但这不是主要问题 楼主看看 Apache Commons Net 就知道了。 除了sun的JDK还有那些好啊? java 新手问题 急啊!!!!! java 传参报错 高人来啊 applet为什么显示不出来 还是多线程界面死锁问题 急!!! 求救:如何在elipse中关联源tomcat代码??? 如何实现鼠标推动过过程中的虚线选取框 菜鸟的困惑. 帮我调这段程序,高分谢 大家好,求一书“java 实例 技术手册 ” 事务问题关于 JDBC 的会的赶紧进吧 Timer 任务与线程队列 关于停止的问题
楼主【slz0303】截止到2008-06-23 15:13:08的历史汇总数据(不包括此帖):
发帖数:8 发帖分:570
结贴数:5 结贴分:470
未结数:3 未结分:100
结贴率:62.50 % 结分率:82.46 %
楼主加油
想谁如果是会员,能借我用户名用一下,或者帮下载一些东西同样给分的。。
http://www.programsalon.com/downloads27/sourcecode/windows/network/detail87101.html
希望有比较熟悉java和ftp的人帮下忙。。
谢谢zealVampire
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;public class Test { FtpClient ftpClient; /**
* connectServer 连接ftp服务器
*
* @throws java.io.IOException
* @param path
* 文件夹,空代表根目录
* @param password
* 密码
* @param user
* 登陆用户
* @param server
* 服务器地址
*/
public void connectServer(String server, String user, String password,
String path) throws IOException {
// server:FTP服务器的IP地址;user:登录FTP服务器的用户名
// password:登录FTP服务器的用户名的口令;path:FTP服务器上的路径
ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
// path是ftp服务下主目录的子目录
if (path.length() != 0)
ftpClient.cd(path);
// 用2进制上传、下载
ftpClient.binary();
} /**
* upload 上传文件
*
* @throws java.lang.Exception
* @return -1 文件不存在 -2 文件内容为空 >0 成功上传,返回文件的大小
* @param newname
* 上传后的新文件名
* @param filename
* 上传的文件
*/
public long upload(String filename, String newname) throws Exception {
long result = 0;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
java.io.File file_in = new java.io.File(filename);
if (!file_in.exists())
return -1;
if (file_in.length() == 0)
return -2;
os = ftpClient.put(newname);
result = file_in.length();
is = new FileInputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
}
finally {
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
}
return result;
} /**
* upload
*
* @throws java.lang.Exception
* @return
* @param filename
*/
public long upload(String filename) throws Exception {
String newname = "";
if (filename.indexOf("/") > -1) {
newname = filename.substring(filename.lastIndexOf("/") + 1);
}
else {
newname = filename;
}
return upload(filename, newname);
} /**
* download 从ftp下载文件到本地
*
* @throws java.lang.Exception
* @return
* @param newfilename
* 本地生成的文件名
* @param filename
* 服务器上的文件名
*/
public long download(String filename, String newfilename) throws Exception {
long result = 0;
TelnetInputStream is = null;
FileOutputStream os = null;
try {
is = ftpClient.get(filename);
java.io.File outfile = new java.io.File(newfilename);
os = new FileOutputStream(outfile);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
result = result + c;
}
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if (is != null) {
is.close();
}
if (os != null) {
os.close();
}
}
return result;
} /**
* 取得某个目录下的所有文件列表
*
*/
public List getFileList(String path) {
List list = new ArrayList();
try {
DataInputStream dis = new DataInputStream(ftpClient.nameList(path));
BufferedReader bfr = new BufferedReader(new InputStreamReader(dis));
String filename = "";
while ((filename = bfr.readLine()) != null) {
list.add(filename);
} }
catch (Exception e) {
e.printStackTrace();
}
return list;
} /**
* closeServer 断开与ftp服务器的链接
*
* @throws java.io.IOException
*/
public void closeServer() throws IOException {
try {
if (ftpClient != null) {
ftpClient.closeServer();
}
}
catch (IOException e) {
e.printStackTrace();
}
} public static void main(String[] args) throws Exception {
Test ftp = new Test();
try {
// 连接ftp服务器
ftp.connectServer("localhost", "username", "password", "");
System.out.println("connected");
/** 上传文件到 ftp默认 文件夹下 */
System.out.println("filesize:"
+ ftp.upload("wyl1.jpg") + "字节");
/** 取得ftp默认文件夹下的所有文件列表,并下载到 D盘 received文件夹下 */
List list = ftp.getFileList(".");
for (int i = 0; i < list.size(); i++) {
String filename = (String) list.get(i);
System.out.println(filename);
ftp.download(filename, "D:/received/" + filename);
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
ftp.closeServer();
}
}
}
没有界面 但这不是主要问题