- 浏览: 243476 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
di1984HIT:
学习了。
CMS项目中用到的技术(全) -
di1984HIT:
就是用xml麻烦~
RESTEasy入门 -
di1984HIT:
学习了~~
RESTEasy入门 -
真三武侯:
写得很好,感谢分享经验心得!
RESTEasy入门 -
fangcensi:
是不是还有一个application文件,没写出来
RESTEasy入门
1.使用URL:
URL url
=
new
URL(
"
ftp://javaa:javaa@172.168.2.222:21/test/javaa.txt
"
);
PrintWriter pw = new PrintWriter(url.openConnection().getOutputStream());
pw.write( " this is a test " );
pw.flush();
pw.close();
PrintWriter pw = new PrintWriter(url.openConnection().getOutputStream());
pw.write( " this is a test " );
pw.flush();
pw.close();
上面是代码的片断,其中URL构造函数的参数可以用不同的访问协议(比如http,ftp等),"//"后跟着的是用户名和密码,两者用":"隔 开,紧跟着是分隔符"@","@"以后的是IP地址和端口,然后是目录,最后才是我们要写入的文件名,其中目录是必须存在的,否则会抛出 FileNotFoundException,文件可以是不存在的,不存在的时候就会新建文件,否则就会用新的内容覆盖以前的内容;
2.使用FtpClient:
FtpClient ftpClient
=
new
FtpClient();
ftpClient.openServer( " 172.168.2.222 " , 21 ); // IP地址和端口
ftpClient.login( " javaa " , " javaa " ); // 用户名和密码,匿名登陆的话用户名为anonymous,密码为非空字符串
ftpClient.cd( " test " ); // 切换到test目录
PrintWriter pw = new PrintWriter(ftpClient.put( " javaa.txt " )); // 写入的文件名
pw.write( " this is a test " );
pw.flush();
pw.close();
ftpClient.openServer( " 172.168.2.222 " , 21 ); // IP地址和端口
ftpClient.login( " javaa " , " javaa " ); // 用户名和密码,匿名登陆的话用户名为anonymous,密码为非空字符串
ftpClient.cd( " test " ); // 切换到test目录
PrintWriter pw = new PrintWriter(ftpClient.put( " javaa.txt " )); // 写入的文件名
pw.write( " this is a test " );
pw.flush();
pw.close();
3.用PASV模式传送数据的FtpClient
import
sun.net.ftp.FtpClient;
import java.net.Socket;
import java.io.IOException;
public class PasvFtpClient
extends FtpClient{
/**
* FTP服务器的地址
*/
private String serverAddr;
/**
* 连接到FTP服务器的Socket
*/
private Socket socket;
/**
* 仿造父类定义的静态变量
*/
protected final static int FTP_ERROR = 3 ;
/**
* 仿造父类定义的静态变量
*/
protected final static int FTP_SUCCESS = 1 ;
public PasvFtpClient(String s) throws IOException{
super (s);
serverAddr = s;
socket = null ;
}
public PasvFtpClient(String s, int i) throws IOException{
super (s,i);
serverAddr = s;
socket = null ;
}
public PasvFtpClient(){
super ();
socket = null ;
}
/**
* 复写的主要部分,父类采用PORT模式,这里改为PASV模式
* @param s 传入的FTP命令
* @return 连接到FTP服务器的Socket
* @throws IOException
*/
protected Socket openDataConnection(String s) throws IOException{
if (socket == null ){
String s1 = " PASV " ;
if (issueCommand(s1) == FTP_ERROR){
MyFtpProtocolException ftpprotocolexception = new MyFtpProtocolException(
" PASV " );
throw ftpprotocolexception;
}
String responseStr = this .getResponseString();
int location = responseStr.lastIndexOf( " , " );
int n = Integer.parseInt(responseStr.substring(location + 1 ,
responseStr.indexOf( " ) " )));
responseStr = responseStr.substring( 0 ,location);
location = responseStr.lastIndexOf( " , " );
int m = Integer.parseInt(responseStr.substring(location + 1 ,
responseStr.length()));
socket = new Socket(serverAddr,m * 256 + n);
}
if (issueCommand(s) == FTP_ERROR){
MyFtpProtocolException ftpprotocolexception1 = new MyFtpProtocolException(s);
throw ftpprotocolexception1;
}
return socket;
}
/**
* 关闭与FTP服务器的连接
* @throws IOException
*/
public void closeServer() throws IOException{
socket.close();
socket = null ;
super .closeServer();
}
/**
* 打开与FTP服务器的连接
* @param s FTP服务器地址
* @param i FTP服务器端口
* @throws IOException
*/
public void openServer(String s, int i) throws IOException{
super .openServer(s,i);
serverAddr = s;
}
}
/**
* 自定义的FTP异常类
*/
class MyFtpProtocolException
extends IOException{
MyFtpProtocolException(String s){
super (s);
}
}
import java.net.Socket;
import java.io.IOException;
public class PasvFtpClient
extends FtpClient{
/**
* FTP服务器的地址
*/
private String serverAddr;
/**
* 连接到FTP服务器的Socket
*/
private Socket socket;
/**
* 仿造父类定义的静态变量
*/
protected final static int FTP_ERROR = 3 ;
/**
* 仿造父类定义的静态变量
*/
protected final static int FTP_SUCCESS = 1 ;
public PasvFtpClient(String s) throws IOException{
super (s);
serverAddr = s;
socket = null ;
}
public PasvFtpClient(String s, int i) throws IOException{
super (s,i);
serverAddr = s;
socket = null ;
}
public PasvFtpClient(){
super ();
socket = null ;
}
/**
* 复写的主要部分,父类采用PORT模式,这里改为PASV模式
* @param s 传入的FTP命令
* @return 连接到FTP服务器的Socket
* @throws IOException
*/
protected Socket openDataConnection(String s) throws IOException{
if (socket == null ){
String s1 = " PASV " ;
if (issueCommand(s1) == FTP_ERROR){
MyFtpProtocolException ftpprotocolexception = new MyFtpProtocolException(
" PASV " );
throw ftpprotocolexception;
}
String responseStr = this .getResponseString();
int location = responseStr.lastIndexOf( " , " );
int n = Integer.parseInt(responseStr.substring(location + 1 ,
responseStr.indexOf( " ) " )));
responseStr = responseStr.substring( 0 ,location);
location = responseStr.lastIndexOf( " , " );
int m = Integer.parseInt(responseStr.substring(location + 1 ,
responseStr.length()));
socket = new Socket(serverAddr,m * 256 + n);
}
if (issueCommand(s) == FTP_ERROR){
MyFtpProtocolException ftpprotocolexception1 = new MyFtpProtocolException(s);
throw ftpprotocolexception1;
}
return socket;
}
/**
* 关闭与FTP服务器的连接
* @throws IOException
*/
public void closeServer() throws IOException{
socket.close();
socket = null ;
super .closeServer();
}
/**
* 打开与FTP服务器的连接
* @param s FTP服务器地址
* @param i FTP服务器端口
* @throws IOException
*/
public void openServer(String s, int i) throws IOException{
super .openServer(s,i);
serverAddr = s;
}
}
/**
* 自定义的FTP异常类
*/
class MyFtpProtocolException
extends IOException{
MyFtpProtocolException(String s){
super (s);
}
}
发表评论
-
Java基本功——Reference
2011-10-08 17:52 1132版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
Caused by: org.codehaus.jackson.map.JsonMappingException
2011-08-29 16:09 12376写道 No serializer found for cla ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat(2)
2011-08-10 13:44 3872如果能熟练运用这些命令,尤其是在linux下,那么完全可以代替 ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat (1)
2011-08-10 13:44 1191jstack -- 如果java程序崩溃生成core文 ... -
IT公司中最流行的10种编程语言
2011-08-05 13:12 10011. C语言 C语言是一种 ... -
JDK自带线程池总类介绍介绍
2011-07-28 20:38 7551、newFixedThreadPool创建一个指定工作线程数 ... -
深入浅出多线程(4)对CachedThreadPool OutOfMemoryError问题的一些想法
2011-07-28 20:37 1558线程池是Conncurrent包提供给我们的一个重要的礼物。 ... -
Java多线程--让主线程等待所有子线程执行完毕
2011-07-28 19:25 3364数据量很大百万条记录,因此考虑到要用多线程并发执行,在写 ... -
Quartz管理类
2011-07-18 17:11 1224package com.sihuatech.project.t ... -
为什么会出现 java.util.ConcurrentModificationException 异常?
2011-07-15 14:47 1503工作中碰到个ConcurrentModificationExc ... -
装饰模式
2011-07-12 11:41 12551) 装饰模式 装饰模式 (Decor ... -
全面解析Java中的String对象的数据类型
2011-07-11 12:56 10291. 首先String不属于8种基本数据类型,String是一 ... -
oscache配置详解
2011-07-08 14:36 2142#一、内存缓存或硬盘、数据库缓存 cache.memory= ... -
oscache使用指南
2011-07-07 15:19 2484一、简介 Cache是一种用于提高系统响应速度、改善 ... -
java文件操作
2011-07-05 12:10 751package Test; import ja ... -
map的三种遍历方法!
2011-07-04 13:27 993集合的一个很重要的操作---遍历,学习了三种遍历方法,三种 ... -
Java中String类型的参数传递问题的解析
2011-06-29 18:31 1216publicclass StringAsParamOfMeth ... -
not in 优化
2011-06-20 14:35 151301.select * from emp where emp_ ... -
简单工厂模式与策略模式的区别
2011-06-14 16:10 3324工厂(Factory)模式我们可以做如下理解,假设有一个A ... -
UML中的关系
2011-05-30 17:14 930uml定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合 ...
相关推荐
以下是几种常见的 Java FTP 客户端库的比较: 表 1: Java FTP 客户端库比较 | 库名称 | 作者 | 版本 | 特点 | | --- | --- | --- | --- | | J-ftp | | 1.50 | 支持 FTP、SFTP、FTPS、TFTP 等协议 | | simpleftp |...
Java基于Swing的FTP上传下载程序是一个用户界面友好、功能完备的应用,主要用于通过FTP(File Transfer Protocol)协议实现文件的上传和下载。Swing是Java提供的一个轻量级的GUI库,它允许开发者创建出美观且功能...
Java编写的FTP(File Transfer Protocol)源代码是用于在计算机之间传输文件的一种程序实现。FTP是一种基于TCP协议的应用层协议,常用于互联网上的文件上传和下载。在Java中实现FTP功能,开发者通常会利用Java的`...
5. **工作模式**:FTP有几种工作模式,如主动模式和被动模式。主动模式中,服务器主动连接客户端,而被动模式下,客户端主动连接服务器。你可以使用FTPClient的enterLocalPassiveMode或enterLocalActiveMode方法切换...
在Java编程中,实现FTP文件传输通常涉及到几个关键的知识点,包括FTP客户端库的使用、连接设置、文件操作以及异常处理。下面我们将深入探讨这些内容。 首先,Java中实现FTP传输,我们通常会使用第三方库,如Apache ...
在Java FTP文件管理程序中,主要有以下几个核心知识点: 1. **FTPClient的使用**:`FTPClient`类是FTP操作的核心,它提供了连接、登录、改变工作目录、上传、下载、删除文件等一系列方法。首先需要创建`FTPClient`...
通过本文的详细介绍,我们可以了解到使用Java实现FTP批量大文件上传下载的关键技术和实现细节。借助于合适的Java FTP客户端库,结合Applet与Web页面的交互设计,能够有效地解决大规模工程项目的文件传输问题,同时...
JavaFTP是一个基于Java实现的FTP(File Transfer Protocol)服务器程序,它允许用户通过FTP协议进行文件的上传、下载以及管理操作。FTP是互联网上一种广泛使用的文件传输协议,主要用于在客户端和服务器之间交换文件...
构建Java FTP服务器涉及到几个关键步骤: 1. **初始化服务器**:设置服务器监听的端口,通常为21号端口,并创建一个线程来处理每个连接请求。 2. **处理客户端请求**:当客户端连接时,服务器需要解析客户端发送的...
在Java中连接到FTP服务器通常涉及以下几个步骤: - 初始化`FtpClient`对象。 - 使用`openServer()`方法打开与FTP服务器的连接。 - 调用`login()`方法登录FTP服务器,需要提供用户名和密码。 - 设置传输模式为ASCII或...
总的来说,`Ftp.rar`提供的`Ftp.java`文件是一个用于Java FTP上传的实用工具,它可以帮助开发者轻松地将本地文件上传到FTP服务器。通过阅读和理解这段代码,我们可以学习到如何在实际项目中安全、高效地实现FTP文件...
4. **文件操作**:FTP服务器需要能够读写文件,这就涉及到`java.io`包中的文件操作方法。例如,`File`类用于表示本地文件,`FileInputStream`和`FileOutputStream`用于读写文件内容。 5. **多线程处理**:为了同时...
这个源代码项目提供了一种使用Java实现FTP上传功能的方法,使得开发者能够编写应用程序,将文件或数据有效地发送到FTP服务器。以下是关于这个Java FTP上传程序的一些关键知识点: 1. **Java FTP库**: Java标准库...
Java FTP(文件传输协议)是Java编程中用于与FTP服务器交互的一种技术,它允许程序员通过编写Java代码来上传、下载、删除或者管理远程文件。在Java中,`java.net`和`java.io`包提供了基本的FTP支持,而更高级的功能...
FTP(File Transfer Protocol)是一种广泛使用的互联网协议,用于在客户端和服务器之间传输文件。Java中的Socket编程是实现网络通信的基础,包括FTP服务。本压缩包文件"FTP.zip_ftp socket java_java socket ftp...
在IT行业中,FTP(File Transfer Protocol)是一种广泛用于在互联网上进行文件传输的标准协议。Java作为一种多用途且跨平台的编程语言,提供了丰富的库来实现FTP客户端和服务器的开发。本压缩包“ftp_collision_java...
* 上传文件到 FTP 服务器 * @param localFilePath 本地文件完整路径 * @param remoteFilePath 服务器上的目标路径 * @return 是否上传成功 * @throws Exception */ public boolean uploadFile(String ...
FTP工具(JAVA版)是一种基于Java编程语言实现的文件传输协议客户端应用,它允许用户方便地进行文件和文件夹的上传、下载以及管理操作。在Java中,FTP客户端通常通过利用java.net.Socket类和java.io流来实现与FTP...
FTP是一种用于在互联网上可靠地传输文件的标准协议,它允许用户从远程主机下载文件或上传文件到远程主机。 首先,我们来看看Java中的Socket。Socket是网络通信的基本单元,可以理解为两台计算机之间的通信通道。在...
FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,广泛应用于Web开发、系统管理和数据共享等领域。本项目通过Java的FTPClient库实现了FTP的基本操作,如上传、下载、列出目录内容等。 首先...