- 浏览: 242834 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
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 1125版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
Caused by: org.codehaus.jackson.map.JsonMappingException
2011-08-29 16:09 12368写道 No serializer found for cla ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat(2)
2011-08-10 13:44 3866如果能熟练运用这些命令,尤其是在linux下,那么完全可以代替 ... -
JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat (1)
2011-08-10 13:44 1184jstack -- 如果java程序崩溃生成core文 ... -
IT公司中最流行的10种编程语言
2011-08-05 13:12 9881. C语言 C语言是一种 ... -
JDK自带线程池总类介绍介绍
2011-07-28 20:38 7421、newFixedThreadPool创建一个指定工作线程数 ... -
深入浅出多线程(4)对CachedThreadPool OutOfMemoryError问题的一些想法
2011-07-28 20:37 1551线程池是Conncurrent包提供给我们的一个重要的礼物。 ... -
Java多线程--让主线程等待所有子线程执行完毕
2011-07-28 19:25 3358数据量很大百万条记录,因此考虑到要用多线程并发执行,在写 ... -
Quartz管理类
2011-07-18 17:11 1214package com.sihuatech.project.t ... -
为什么会出现 java.util.ConcurrentModificationException 异常?
2011-07-15 14:47 1494工作中碰到个ConcurrentModificationExc ... -
装饰模式
2011-07-12 11:41 12431) 装饰模式 装饰模式 (Decor ... -
全面解析Java中的String对象的数据类型
2011-07-11 12:56 10201. 首先String不属于8种基本数据类型,String是一 ... -
oscache配置详解
2011-07-08 14:36 2133#一、内存缓存或硬盘、数据库缓存 cache.memory= ... -
oscache使用指南
2011-07-07 15:19 2479一、简介 Cache是一种用于提高系统响应速度、改善 ... -
java文件操作
2011-07-05 12:10 740package Test; import ja ... -
map的三种遍历方法!
2011-07-04 13:27 982集合的一个很重要的操作---遍历,学习了三种遍历方法,三种 ... -
Java中String类型的参数传递问题的解析
2011-06-29 18:31 1203publicclass StringAsParamOfMeth ... -
not in 优化
2011-06-20 14:35 150501.select * from emp where emp_ ... -
简单工厂模式与策略模式的区别
2011-06-14 16:10 3313工厂(Factory)模式我们可以做如下理解,假设有一个A ... -
UML中的关系
2011-05-30 17:14 922uml定义的关系主要有六种:依赖、类属、关联、实现、聚合和组合 ...
相关推荐
4. **文件操作**:FTP服务器需要能够读写文件,这就涉及到`java.io`包中的文件操作方法。例如,`File`类用于表示本地文件,`FileInputStream`和`FileOutputStream`用于读写文件内容。 5. **多线程处理**:为了同时...
FTP协议是互联网上用于在主机之间传输文件的标准协议,而这个Demo则展示了如何不依赖现成的FTP库,通过自定义的TCP/IP通信来模拟FTP的功能。 首先,我们要理解TCP/IP协议族中的TCP(Transmission Control Protocol...
2. **Socket连接**: 在Java中,我们首先需要建立一个到FTP服务器的Socket连接。这通常通过`Socket socket = new Socket(serverAddress, port)`完成,其中`serverAddress`是FTP服务器的IP地址,`port`是FTP服务器监听...
本篇将详细讲解如何使用Java来实现FTP的上传和下载功能,以及涉及的相关库和API。 首先,Java中的FTP功能主要依赖于Apache Commons Net库,这是一个强大的网络协议库,提供了FTP、Telnet等协议的实现。在给定的文件...
代码示例中展示了如何使用 `ChannelSftp` 类从远程 Linux 服务器下载文件到本地。主要步骤包括: - 创建 `FTPClient` 对象,并调用其 `connect` 方法建立连接。 - 调用 `cd` 方法切换到目标目录。 - 使用 `listFiles...
在Java中,实现文件管理涉及到以下几个核心概念和技术: 1. **File类**:Java中的`java.io.File`类是文件和目录路径名的抽象表示。它提供了许多方法来创建、删除、重命名文件以及获取文件属性,如大小、创建时间等...
- 文件的分块传输,特别是大文件,可以避免一次性加载整个文件到内存中。 - 断点续传功能,允许在传输中断后从上次断开的位置继续传输。 - 错误检测和恢复机制,例如使用校验和或CRC来检查数据的完整性。 - 安全性,...
- 文件上传下载:SwiFTP通过FTP的STOR和RETR命令实现文件上传和下载,使用FtpFileSystem进行实际的文件操作。 5. 使用与二次开发 - 在Android应用中集成SwiFTP,需要在AndroidManifest.xml中声明服务,并在代码中...
根据提供的文件信息,本文将详细解析“JAVA源码JAVA文件传输(论文+源代码)”这一主题涉及的关键技术点。此项目不仅包含了论文还附带了实际的源代码,旨在为学习者提供理论与实践相结合的学习资源。下面我们将从以下...
Java Socket 是一种网络通信协议,它允许两台计算机(或者一个客户端和一个服务器)通过Internet进行双向通信。在Java中,Socket类和ServerSocket类是实现这一功能的基础。本示例将详细介绍如何在Android平台上使用...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
Java从服务器下载文件并保存到本地的示例是Java开发中的一种常见操作,本篇文章主要介绍了如何使用Java从服务器下载文件并保存到本地的示例代码。 下载文件的基本流程 当我们想要下载网站上的某个资源时,我们会...
3. **设置工作目录**:使用`changeWorkingDirectory()`方法切换到目标目录,以便上传或下载文件到指定位置。 4. **上传文件**:调用`storeFile()`方法,传入本地文件路径和远程文件名,将本地文件上传至FTP服务器。...
标题中的“行业分类-设备装置-一种实现文件一写多读的方法及装置”表明这是一个关于计算机硬件设备或系统设计的专题,重点在于介绍如何实现一个文件可以被一个源头写入,同时多个读取端口进行读取的机制。...
Socket FTP客户端程序是一种基于计算机网络技术的应用,主要利用Socket编程接口和FTP(文件传输协议)来实现在网络间上传和下载文件的功能。本项目提供的FTP客户端程序可能还处于开发阶段,功能并不全面,但可以作为...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...
PortGroper 是一款java写的开源拒绝服务测试工具,它不是僵尸网络类的ddos,而是使用大量的代理作为bots发起DDOS。Port Groper可以与用测试防火墙,干扰web 统计脚本的跟踪,为网站增加流量..往好了用什么都能干,就是...