- 浏览: 316593 次
- 性别:
- 来自: 济南
文章分类
最新评论
-
poterliu:
太棒了,这正是我要的效果
带复选框(checkbox)的下拉列表 -
no_bao:
a164906480 写道不好意思啊,不少东西,我用的时候就是 ...
java使用Map进行分组统计 -
a164906480:
不好意思啊,不少东西,我用的时候就是转int的时候光报异常。 ...
java使用Map进行分组统计 -
a164906480:
String[] strArr=null;
4 ...
java使用Map进行分组统计 -
a164906480:
问一下你后面的数是怎么加的吗
java使用Map进行分组统计
package ftp;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class FtpClientUtil {
FtpClient ftpClient;
private String server;
private int port;
private String userName;
private String userPassword;
public FtpClientUtil(String server,int port,String userName,String userPassword)
{
this.server=server;
this.port=port;
this.userName=userName;
this.userPassword=userPassword;
}
/**
* 链接到服务器
* @return
*/
public boolean open()
{
if(ftpClient!=null&&ftpClient.serverIsOpen())
return true;
try
{
ftpClient= new FtpClient();
ftpClient.openServer(server,port);
ftpClient.login(userName, userPassword);
ftpClient.binary();
return true;
}
catch(Exception e)
{
e.printStackTrace();
ftpClient=null;
return false;
}
}
public boolean cd(String dir){
boolean f = false;
try {
ftpClient.cd(dir);
} catch (IOException e) {
return f;
}
return true;
}
/**
* 上传文件到FTP服务器
* @param localPathAndFileName 本地文件目录和文件名
* @param ftpFileName 上传后的文件名
* @param ftpDirectory FTP目录如:/path1/pathb2/,如果目录不存在回自动创建目录
* @throws Exception
*/
public boolean upload(String localDirectoryAndFileName,String ftpFileName,String ftpDirectory)throws Exception {
if(!open())
return false;
FileInputStream is=null;
TelnetOutputStream os=null;
try
{
char ch = ' ';
if (ftpDirectory.length() > 0)
ch = ftpDirectory.charAt(ftpDirectory.length() - 1);
for (; ch == '/' || ch == '\\'; ch = ftpDirectory.charAt(ftpDirectory.length() - 1))
ftpDirectory = ftpDirectory.substring(0, ftpDirectory.length() - 1);
int slashIndex = ftpDirectory.indexOf(47);
int backslashIndex = ftpDirectory.indexOf(92);
int index = slashIndex;
String dirall = ftpDirectory;
if (backslashIndex != -1 && (index == -1 || index > backslashIndex))
index = backslashIndex;
String directory = "";
while (index != -1) {
if (index > 0) {
String dir = dirall.substring(0, index);
directory = directory + "/" + dir;
ftpClient.sendServer("XMKD " + directory + "\r\n");
ftpClient.readServerResponse();
}
dirall = dirall.substring(index + 1);
slashIndex = dirall.indexOf(47);
backslashIndex = dirall.indexOf(92);
index = slashIndex;
if (backslashIndex != -1 && (index == -1 || index > backslashIndex))
index = backslashIndex;
}
ftpClient.sendServer("XMKD " + ftpDirectory + "\r\n");
ftpClient.readServerResponse();
os = ftpClient.put(ftpDirectory + "/"
+ ftpFileName);
File file_in = new File(localDirectoryAndFileName);
is = new FileInputStream(file_in);
byte bytes[] = new byte[1024];
int i;
while ((i = is.read(bytes)) != -1)
os.write(bytes, 0, i);
//清理垃圾
return true;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
finally
{
if (is != null)
is.close();
if (os != null)
os.close();
}
}
/**
* 从FTP服务器上下载文件并返回下载文件长度
* @param ftpDirectoryAndFileName
* @param localDirectoryAndFileName
* @return
* @throws Exception
*/
public long download(String ftpDirectoryAndFileName,String localDirectoryAndFileName)throws Exception
{
long result = 0;
if(!open())
return result;
TelnetInputStream is = null;
FileOutputStream os = null;
try
{
is = ftpClient.get(ftpDirectoryAndFileName);
java.io.File outfile = new java.io.File(localDirectoryAndFileName);
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 (Exception e)
{
throw e;
}
finally
{
if (is != null)
is.close();
if (os != null)
os.close();
}
return result;
}
/**
* 返回FTP目录下的文件列表
* @param ftpDirectory
* @return
*/
public List<String> getFileNameList(String ftpDirectory)
{
List<String> list = new ArrayList<String>();
if(!open())
return list;
try
{
DataInputStream dis = new DataInputStream(ftpClient.nameList(ftpDirectory));
String filename = "";
while((filename=dis.readLine())!=null)
{
list.add(filename);
}
} catch (Exception e)
{
e.printStackTrace();
}
return list;
}
/**
* 删除FTP上的文件
* @param ftpDirAndFileName
*/
public boolean deleteFile(String ftpDirAndFileName)
{
if(!open())
return false;
ftpClient.sendServer("DELE "+ftpDirAndFileName+"\r\n");
return true;
}
/**
* 删除FTP目录
* @param ftpDirectory
*/
public boolean deleteDirectory(String ftpDirectory)
{
if(!open())
return false;
ftpClient.sendServer("XRMD "+ftpDirectory+"\r\n");
return true;
}
/**
* 关闭链接
*/
public void close()
{
try
{
if(ftpClient!=null&&ftpClient.serverIsOpen())
ftpClient.closeServer();
}catch(Exception e)
{
}
}
public static void main(String[] args) throws UnsupportedEncodingException {
FtpClientUtil ftp=new FtpClientUtil("192.168.20.29",21,"uname","upass");
List<String> list=ftp.getFileNameList("/1111/");
for (String s:list) {
String ss= new String(s.getBytes("ISO-8859-1"),"GBK");
System.out.println(ss);
}
}
}
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
public class FtpClientUtil {
FtpClient ftpClient;
private String server;
private int port;
private String userName;
private String userPassword;
public FtpClientUtil(String server,int port,String userName,String userPassword)
{
this.server=server;
this.port=port;
this.userName=userName;
this.userPassword=userPassword;
}
/**
* 链接到服务器
* @return
*/
public boolean open()
{
if(ftpClient!=null&&ftpClient.serverIsOpen())
return true;
try
{
ftpClient= new FtpClient();
ftpClient.openServer(server,port);
ftpClient.login(userName, userPassword);
ftpClient.binary();
return true;
}
catch(Exception e)
{
e.printStackTrace();
ftpClient=null;
return false;
}
}
public boolean cd(String dir){
boolean f = false;
try {
ftpClient.cd(dir);
} catch (IOException e) {
return f;
}
return true;
}
/**
* 上传文件到FTP服务器
* @param localPathAndFileName 本地文件目录和文件名
* @param ftpFileName 上传后的文件名
* @param ftpDirectory FTP目录如:/path1/pathb2/,如果目录不存在回自动创建目录
* @throws Exception
*/
public boolean upload(String localDirectoryAndFileName,String ftpFileName,String ftpDirectory)throws Exception {
if(!open())
return false;
FileInputStream is=null;
TelnetOutputStream os=null;
try
{
char ch = ' ';
if (ftpDirectory.length() > 0)
ch = ftpDirectory.charAt(ftpDirectory.length() - 1);
for (; ch == '/' || ch == '\\'; ch = ftpDirectory.charAt(ftpDirectory.length() - 1))
ftpDirectory = ftpDirectory.substring(0, ftpDirectory.length() - 1);
int slashIndex = ftpDirectory.indexOf(47);
int backslashIndex = ftpDirectory.indexOf(92);
int index = slashIndex;
String dirall = ftpDirectory;
if (backslashIndex != -1 && (index == -1 || index > backslashIndex))
index = backslashIndex;
String directory = "";
while (index != -1) {
if (index > 0) {
String dir = dirall.substring(0, index);
directory = directory + "/" + dir;
ftpClient.sendServer("XMKD " + directory + "\r\n");
ftpClient.readServerResponse();
}
dirall = dirall.substring(index + 1);
slashIndex = dirall.indexOf(47);
backslashIndex = dirall.indexOf(92);
index = slashIndex;
if (backslashIndex != -1 && (index == -1 || index > backslashIndex))
index = backslashIndex;
}
ftpClient.sendServer("XMKD " + ftpDirectory + "\r\n");
ftpClient.readServerResponse();
os = ftpClient.put(ftpDirectory + "/"
+ ftpFileName);
File file_in = new File(localDirectoryAndFileName);
is = new FileInputStream(file_in);
byte bytes[] = new byte[1024];
int i;
while ((i = is.read(bytes)) != -1)
os.write(bytes, 0, i);
//清理垃圾
return true;
}
catch(Exception e)
{
e.printStackTrace();
return false;
}
finally
{
if (is != null)
is.close();
if (os != null)
os.close();
}
}
/**
* 从FTP服务器上下载文件并返回下载文件长度
* @param ftpDirectoryAndFileName
* @param localDirectoryAndFileName
* @return
* @throws Exception
*/
public long download(String ftpDirectoryAndFileName,String localDirectoryAndFileName)throws Exception
{
long result = 0;
if(!open())
return result;
TelnetInputStream is = null;
FileOutputStream os = null;
try
{
is = ftpClient.get(ftpDirectoryAndFileName);
java.io.File outfile = new java.io.File(localDirectoryAndFileName);
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 (Exception e)
{
throw e;
}
finally
{
if (is != null)
is.close();
if (os != null)
os.close();
}
return result;
}
/**
* 返回FTP目录下的文件列表
* @param ftpDirectory
* @return
*/
public List<String> getFileNameList(String ftpDirectory)
{
List<String> list = new ArrayList<String>();
if(!open())
return list;
try
{
DataInputStream dis = new DataInputStream(ftpClient.nameList(ftpDirectory));
String filename = "";
while((filename=dis.readLine())!=null)
{
list.add(filename);
}
} catch (Exception e)
{
e.printStackTrace();
}
return list;
}
/**
* 删除FTP上的文件
* @param ftpDirAndFileName
*/
public boolean deleteFile(String ftpDirAndFileName)
{
if(!open())
return false;
ftpClient.sendServer("DELE "+ftpDirAndFileName+"\r\n");
return true;
}
/**
* 删除FTP目录
* @param ftpDirectory
*/
public boolean deleteDirectory(String ftpDirectory)
{
if(!open())
return false;
ftpClient.sendServer("XRMD "+ftpDirectory+"\r\n");
return true;
}
/**
* 关闭链接
*/
public void close()
{
try
{
if(ftpClient!=null&&ftpClient.serverIsOpen())
ftpClient.closeServer();
}catch(Exception e)
{
}
}
public static void main(String[] args) throws UnsupportedEncodingException {
FtpClientUtil ftp=new FtpClientUtil("192.168.20.29",21,"uname","upass");
List<String> list=ftp.getFileNameList("/1111/");
for (String s:list) {
String ss= new String(s.getBytes("ISO-8859-1"),"GBK");
System.out.println(ss);
}
}
}
发表评论
-
xml验证二----java根据xsd验证xml
2013-11-07 09:47 2435xml 转换 xsd 参考 http://51876 ... -
xml验证之----xml转换为xsd(trang.jar)
2013-11-07 09:43 73741、执行环境 Trang的执行环境:JRE1.4+ ... -
java使用Map进行分组统计
2013-07-09 14:43 6686用java读取txt文本,并根据ip段分组合计|后面的值,即i ... -
JDBC事务的保存点处理
2013-05-10 09:55 1717JDBC事务的保存点处理 ... -
java随机数
2013-01-21 10:23 965public static String getRandom ... -
Quartz使用指南(七)-----Spring中使用Quartz进行作业调度
2012-10-22 09:10 18531 Spring中使用Qu ... -
Quartz使用指南(六)-----监听器及存储
2012-10-22 09:10 17121 触发器的监听器和作业的监听器(Trigge ... -
Quartz使用指南(五)-----Cron触发器(CronTrigger)
2012-10-22 09:09 2102<!--[if !supportLists]--> ... -
Quartz使用指南(四)-----触发器(Triggers)
2012-10-19 18:04 31814 触发器(Triggers) 与Job相比,Trig ... -
Quartz使用指南(三)-----标识符、 作业和作业详情(Identifiers&Jobs&JobDetails)
2012-10-19 17:54 1539标识 ... -
Quartz使用指南(二)-----作业和触发器Job&Trigger
2012-10-19 17:49 1832我们可以使Scheduler简单地执行一个实现了Job接 ... -
Quartz使用指南(一)-----Quartz简介
2012-10-19 17:47 2031<!--[endif]--> ... -
javamail无需邮箱地址发送邮件
2012-10-10 10:06 2182直接通过目标邮件地址查找到该信箱地点的服务器的地址,然后 ... -
利用jawin完成调用window中dll的调用(java调用dll)
2012-10-09 21:53 1287jawin 可以对dll中的方法进行调用,也可以调用co ... -
struts2 中使用<s:iterator /> 标签解析javaBean中的String[] 数组
2012-09-28 16:21 1855struts2 中使用<s:iterator ... -
MyEclipse6.0 注册码
2012-09-21 15:53 5package test; import java.i ... -
java , String.split (String regex) 分隔 ^ | 等特殊字符
2012-07-17 12:17 1310String str="abc^def^gh& ... -
Ftp上传文件调用java代码
2011-12-24 11:11 2010import org.apache.commons.io.IO ... -
java执行sql处理类,包括CLOB,Blob字段的处理
2011-11-28 12:27 2885import java.io.CharArrayWriter; ... -
ArrayList 排序实例
2011-11-28 12:27 2205ArrayList 排序实例 import java.uti ...
相关推荐
总之,Java FTP客户端源代码提供了一个平台,让你可以利用Java的强大力量来实现文件的上传、下载和管理。通过学习和实践,你将能够掌握FTP通信的核心概念,并将这些知识应用到你的项目中,提升你的开发技能。
至少实现conn(连接)、list(列示文件)、retr(下载)、store(上载)的功能。 2.3 接收服务器的操作结果。 3.用户界面:客户端界面用户可以设置远程主机名、用户和密码;显示远程文件列表;显示本地文件的列表;...
在`ftpclient.txt`文件中,可能包含了一个简单的Java FTP客户端实现代码示例,演示了如何连接FTP服务器、上传和下载文件。通常,一个基本的FTP客户端程序会包含以下步骤: 1. 创建`FTPClient`对象。 2. 连接服务器,...
Java FTP 客户端是基于Java编程语言实现的FTP(File Transfer Protocol)应用程序,用于连接到FTP服务器并执行...如果要深入了解这个Java FTP客户端,你需要解压文件并查看其中的内容,或者查找相关的源代码和文档。
在这个名为"ftp.zip"的压缩包中,包含了一个FTP客户端程序,它使用Java编程语言编写,能够帮助用户实现文件的上传和下载功能。这个客户端程序非常实用,因为只需要安装JDK(Java Development Kit)就可以运行,无需...
Java代码会包含处理上传和下载的逻辑,包括设置传输模式(ASCII或二进制),打开数据连接,读写文件,并跟踪传输进度。 6. **异常处理**:由于网络问题或服务器响应错误,FTP操作可能会失败。因此,良好的错误处理...
Java FTP客户端是用Java语言实现的能够连接到FTP服务器并执行各种文件操作的程序。"J-FTP"是这样的一个客户端,它提供了友好的用户界面和丰富的功能,方便开发者或普通用户在Java环境中与FTP服务器交互。 在Java中...
为了深入理解并运行这个Java FTP客户端程序,你需要解压文件,查看源代码(如果存在),理解配置文件的格式,并根据需要配置服务器信息。如果你对Java编程和FTP协议有基础,那么分析和运行这个程序将会是一项有趣的...
用java语言编写的ftp小工具,可以按指定时间监控ftp服务器,把服务器指定目录内新产生的文件或者文件夹下载到本地指定文件夹,下载后删除数据。 也可以监控本地文件夹,把文件夹内新产生的文件或者文件夹整体上传到...
Java FTP 客户端和服务端的开发涉及到网络编程和文件传输协议的重要概念。FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机之间交换文件。Java作为一种通用的、面向对象的编程语言,提供了丰富的库来...
FTP客户端源代码是一种用于与FTP(文件传输协议)服务器交互的应用程序,允许用户上传、下载文件或管理远程服务器上的文件。在本项目中,我们关注的是一个专为Windows平台设计的FTP客户端,它使用Java语言编写,并且...
以下是一个简单的FTP客户端上传文件的Java代码示例: ```java import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; public class FtpTest { public static void main(String[]...
这个压缩包中的FTP客户端可能包含了创建连接、登录、列出目录、上传、下载、删除文件等基本操作的实现。 FTP服务端则负责接收客户端的请求,并执行相应的操作。在Java中,实现FTP服务器并不常见,因为这需要对FTP...
在Java中,`FTPClient.java`文件可能是一个示例代码,展示了如何连接到FTP服务器,进行身份验证,列举远程目录,以及读写文件。Apache Commons Net库同样提供了FTPClient类,方便开发者实现这些功能。 FTP客户端和...
标签"java ftp 上传 文件"进一步明确了我们将关注Java FTP客户端的文件上传操作。Apache Commons Net库中的`FTPClient`类是这个任务的核心。下面,我们逐一分析压缩包中的文件: 1. **FtpUpload.java**:这个文件很...
6. **文件操作**:FTP客户端的主要功能包括文件的上传和下载。`FTPClient`提供了`storeFile()`和`retrieveFile()`方法,分别对应上传和下载操作。同时,可以使用`changeWorkingDirectory()`切换目录。 7. **被动...
Java FTP(File Transfer...总的来说,Java FTP上传IIS的实现涉及到Java网络编程、FTP协议、可能的第三方库使用,以及良好的异常管理和资源管理实践。通过合理的工具类设计,可以创建出高效且易于维护的FTP客户端代码。
1.实现一个图形用户界面的FTP客户端。 2.功能: 2.1 配置使用IIS的FTP服务器; 2.2 客户端发出各种操作命令;至少实现conn(连接)、list(列示文件)、retr(下载)、store(上载)的功能。 2.3 接收服务器的...
"FTP客户端应用程序代码"很可能包含了实现上述功能的源代码,如使用Java、Python、C#等编程语言实现的FTP客户端库。 开发FTP客户端应用程序需要理解FTP协议的细节,包括命令格式、状态码以及如何处理不同类型的FTP...
总之,这个“ftp上传功能java完整代码包”提供了一个完整的解决方案,可以帮助开发者快速地在Java应用中实现FTP文件上传功能。无论是学习FTP协议、Java网络编程,还是实际开发中需要此功能,这个代码包都具有很高的...