package ftp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
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 FTP {
private FtpClient ftpClient;
/**
* 连接FTP服务器
*
* @param server
* FTP服务器IP地址
* @param user
* 登录名
* @param password
* 密码
* @throws IOException
*/
public void connectionServer(String server, String user, String password)
throws IOException {
ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
ftpClient.binary();
}
/**
*
* 连接FTP服务器,并指定登录路径
*
* @param server
* FTP服务器IP地址
*
* @param user
* 登录名
*
* @param password
* 密码
*
* @param path
* 登录路径
*
* @throws IOException
*
*/
public void connectServer(String server, String user, String password,
String path) throws IOException {
ftpClient = new FtpClient();
ftpClient.openServer(server);
ftpClient.login(user, password);
ftpClient.cd(path);
ftpClient.binary();
}
/**
*
* 上传文件.上传成功返回1,上传失败返回0.
*
*
*
* @param iniputStream
* 上传文件的输入流
*
* @param newName
* 上传文件后对文件的重命名
*
* @return int
*
* @throws IOException
*
*/
public int upload(InputStream in, String newName) throws IOException {
TelnetOutputStream os = null;
try {
// 命名文件
os = ftpClient.put(newName);
byte[] bytes = new byte[1024];
int c;
while ((c = in.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
} catch (IOException e) {
return 0;
} finally {
if (in != null) {
in.close();
}
if (os != null) {
os.close();
}
}
return 1;
}
/**
*
* 获得文件和目录列表
*
*
*
* @return
*
* @throws IOException
*
*/
public List getFileList() throws IOException {
List list = new ArrayList();
TelnetInputStream in = ftpClient.nameList(".");
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
String l = null;
while ((l = bf.readLine()) != null) {
if (!l.equals(".") && !l.equals(".."))
list.add(l);
}
return list;
}
/**
*
* 下载文件
*
*
*
* @param fileName
*
* @return
*
* @throws IOException
*
*/
public InputStream getFile(String fileName) throws IOException {
TelnetInputStream in = null;
in = ftpClient.get(fileName);
return in;
}
/**
*
* 转到指定目录
*
*
*
* @param path
*
* @throws IOException
*
*/
public void cdPath(String path) throws IOException {
ftpClient.cd(path);
}
/**
*
* 关闭FTP服务
*
*
*
* @throws IOException
*
*/
public void closeFTPClient() throws IOException {
if (ftpClient != null)
ftpClient.closeServer();
}
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String server = "221.12.40.*";
String user = "um";
String passWord = "123456";
FTP ftp = new FTP();
ftp.connectionServer(server, user, passWord);
List<String> s = ftp.getFileList();
for (String i : s)
System.out.println(i);
}
}
分享到:
相关推荐
Java FTP 客户端和服务端的开发涉及到网络编程和文件传输协议的重要概念。FTP(File Transfer Protocol)是一种标准网络协议,用于在计算机之间交换文件。Java作为一种通用的、面向对象的编程语言,提供了丰富的库来...
Java FTP Server是一种基于Java语言实现的FTP(File Transfer Protocol)服务器,它允许用户通过FTP协议在互联网上进行文件传输。FTP是Internet上广泛使用的标准服务之一,主要用于在客户端和服务器之间上传、下载...
Java FTP服务器文件上传下载是Java开发中常见的网络编程任务,主要涉及到FTP(File Transfer Protocol)协议的应用,用于在客户端和服务器之间传输文件。本教程将详细讲解如何使用Java实现FTP服务器的文件上传、下载...
Java FTP连接池是一种用于管理FTP(文件传输协议)连接的资源池,它的主要目标是提高应用程序的性能和效率。在传统的FTP操作中,每次需要连接到FTP服务器时都会创建一个新的连接,这会消耗大量时间和系统资源。而...
Java FTP技术是Java编程中用于实现文件传输协议(FTP)的一种方法,主要用于在客户端和服务器之间上传、下载文件。在Java中,我们可以使用`java.net`包中的`Socket`类来实现基本的FTP功能,但更常见的是使用Apache ...
在Java编程中,FTP(File Transfer Protocol)是一个用于在计算机之间传输文件的标准协议。这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。...
### Java FTP 指定下载文件和上传文件到指定的服务器目录 #### 一、概述 在本篇文章中,我们将详细介绍如何使用Java编程语言通过FTP(文件传输协议)实现文件的上传与下载功能,并能够将文件指定上传或下载到特定...
Java FTP服务器实例是一个非常实用的学习资源,特别是对于那些初次接触FTP(文件传输协议)服务器开发的Java程序员。FTP是互联网上一种广泛使用的协议,用于在客户端和服务器之间上传、下载文件。通过Java来实现FTP...
FTP(File Transfer Protocol)是一种广泛使用的网络协议,用于在互联网上进行文件传输。断点续传是FTP的一个重要特性,允许用户在文件...了解这些知识点将使你能够高效地实现在Java环境中进行FTP文件的断点续传操作。
Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...
Java FTP(File Transfer Protocol)是Java编程中用于与FTP服务器交互的一种技术,它允许程序员编写应用程序来上传、下载文件,并实现断点续传功能。在本文中,我们将深入探讨Java FTP上传、下载以及断点续传的核心...
通过上述知识点的梳理,我们可以了解到如何使用 Java 编写一个基本的 FTP 客户端程序,包括连接 FTP 服务器、下载文件以及关闭连接等功能。此外,还可以进一步学习如何将 FTP 功能集成到 Web 应用程序中,如使用 JSP...
Java FTP(File Transfer Protocol)上传和下载是网络编程中常见的任务,主要涉及到文件在本地与远程服务器之间的传输。本文将详细介绍如何使用Java实现FTP的上传和下载功能,并结合提供的资源——"WinFtp Server...
Java FTP(文件传输协议)是Java编程中用于与FTP服务器进行交互的一种技术。FTP是一种标准的网络协议,用于在互联网上可靠地交换文件。在Java中,我们可以利用Apache Commons Net库来实现FTP客户端的功能,从而上传...
Java FTP 断续上传与下载是网络编程中的一个重要概念,主要应用于大文件传输,它可以提高文件传输的效率和可靠性。FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,而断续上传和下载则是...
Java FTP上传下载是Java编程语言中用于实现文件传输协议(FTP)的一种常见应用。FTP允许用户在客户端和服务器之间交换文件,这对于数据共享、备份和远程协作非常有用。以下是一些关于Java FTP上传下载的关键知识点:...
Java FTP上传工具包是一款专为Android平台设计的FTP客户端代码库,它允许开发者在Android应用中集成FTP文件传输功能,支持断点续传,提高了上传大文件时的效率和可靠性。这一工具包对于那些需要在移动设备上进行文件...
JavaFTP是一个基于Java实现的FTP(File Transfer Protocol)服务器程序,它允许用户通过FTP协议进行文件的上传、下载以及管理操作。FTP是互联网上一种广泛使用的文件传输协议,主要用于在客户端和服务器之间交换文件...
在IT行业中,Java FTP上传、下载以及RAR压缩与解压是常见的操作,这些功能在文件管理系统、数据迁移、备份恢复等场景中广泛应用。本篇将详细介绍如何使用Java实现FTP(File Transfer Protocol)传输以及RAR文件的...
Java ftp工具类,可以实现ftp上传,读取,目录切换,内容创建,目录创建、检查文件是否存在,支持主动方式和被动方式读取