- 浏览: 1588691 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
1.使用 Serv-U 在本机上创建一个 FTP服务器 http://www.serv-u.com/
2.FTP 登录 下载 上传 文本文件 二进制文件
2.FTP 登录 下载 上传 文本文件 二进制文件
package com.itheima.net; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import sun.net.TelnetInputStream; import sun.net.TelnetOutputStream; import sun.net.ftp.FtpClient; /** * 模拟FTP文件传输 * @author Bin */ public class TextFTPFileTran{ // 对于导入 sun.net.TelnetInputStream; 报错 是权限不足 myeclise 默认不是使用sun 下面的额工具类 也可以自己建立一个 TelnetInputStream 继承 FilterInputStream 就可以了 // 项目 -->右键 -->property-->Java buil path--->lib--> // -->jre-system library-->Access rule-->edit-->Add-->Accessible sun/**-->OK private TelnetInputStream getfile; private TelnetOutputStream putfile; private String info; private FtpClient ftp=null; private static final String serverIp="192.168.1.111"; private static final String userName="root"; private static final String passwd="123456"; /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub /** * 开始前 Ser-U 已经建立了一个FTP文件服务器 在管理员中 有个root 用户 密码 123456 * 根目录 / = E:\360Downloads (包含:ebj-1.jpg , 123.html, 里面有个 show文件夹) * 本地目录 F: 包含(getopt.jar ,plant.xml) */ String fileName="123.html",fileName1="ebj-1.jpg",destFile="E:/123.html",destFile2="F:/ebj-1.jpg", upFile="F:/plant.xml",destFile1="plant.xml", currentDir="show",destFile3="getopt.jar",upFile1="F:/getopt.jar"; TextFTPFileTran text=new TextFTPFileTran(); System.out.println("=================1.登录"); text.loginServer(); System.out.println("=================2.从 E:/360Downloads 下载 123.html"); text.downLoadText(fileName, destFile); System.out.println("=================3.从 E:/360Downloads 下载 ebj-1.jpg"); text.downLoadBinary(fileName1, destFile2); System.out.println("=================4.上传F:/plant.xml 到 E:/360Downloads"); text.uploadText(upFile, destFile1); System.out.println("=================4.上传F:/getopt.jar 到 E:/360Downloads"); text.updateDirUpload(currentDir, destFile3, upFile1); } public void loginServer(){ try { ftp=new FtpClient(serverIp);//与服务器建立连接 } catch (Exception e) { // TODO: handle exception System.out.println("不能与指定服务器简历连接:"+e.getMessage()); } info=ftp.getResponseString(); //获取服务器响应的信息 System.out.println("与FTP服务器进行连接:"+info); try { ftp.login(userName, passwd); } catch (Exception e) { System.out.println("用户登录失败:"+e.getMessage()); } info=ftp.getResponseString();// 获取服务器响应信息 System.out.println("登录服务器:"+info); } //获取服务器指定 目录下的文件 到本地目录下的文件 public void downLoadText(String fileName,String destFile) throws IOException{ getfile=ftp.get(fileName); info=ftp.getResponseString(); //获取服务器的响应信息 System.out.println("获取服务器上的"+fileName+"文件:"+info); ftp.ascii(); //标志要上传下载的文件 info=ftp.getResponseString(); //获取服务器的响应的信息 System.out.println("下载文本文件:"+info); //创建输入路读取对象 InputStreamReader isr=new InputStreamReader(getfile); //创建缓冲读取对象 BufferedReader b=new BufferedReader(isr); //创建 缓冲写对象 BufferedWriter writer=new BufferedWriter(new FileWriter(new File(destFile))); while(true){ String s=b.readLine(); if(s==null){ break; }else{ writer.write(s); } writer.flush(); writer.newLine(); } writer.close(); isr.close(); b.close(); getfile.close(); System.out.println("下载文件"+fileName+"到本地"+destFile+"成功"); } //下载而进制的文件代码 public void downLoadBinary(String fileName,String destFile) throws IOException{ ftp.binary(); //标志 上传下载 二进制的文件 info=ftp.getResponseString();// 获取响应信息 System.out.println("下载二进制文件:"+info); getfile=ftp.get(fileName); info=ftp.getResponseString();// 获取响应信息 System.out.println("获取FTP服务器上的"+fileName+"文件:"+info); FileOutputStream output=new FileOutputStream(new File(destFile)); while(true){ int i=getfile.read(); if(i==-1){ break; }else{ output.write((byte)i); output.flush(); } } getfile.close(); output.close(); System.out.println("下载二进制文件"+fileName+"文件到本地:"+destFile); } public void uploadText(String upFile,String destFile) throws IOException{ ftp.ascii(); //标致 要上传下载文件 info=ftp.getResponseString();// 获取响应信息 System.out.println("上传文本文件:"+info); putfile=ftp.put(destFile); info=ftp.getResponseString();// 获取响应信息 System.out.println("设置上传到FTP服务器上的"+upFile+"文件:"+info); //创建缓冲读对象 BufferedReader fis=new BufferedReader(new FileReader(upFile)); //创建缓冲写对象 BufferedWriter fos=new BufferedWriter(new OutputStreamWriter(putfile)); while(true){ String i=fis.readLine(); if(i==null) break; else{ fos.write(i); //写入文件中 fos.flush(); //刷新 只有刷新才能写入文件成功 fos.newLine();// 换行 } } putfile.close(); fis.close(); fos.close(); System.out.println("上传本地"+upFile+"文件到FTP服务器成功,路径为:"+destFile); } //更改FTP制定目录并且上传文件 public void updateDirUpload(String currentDir,String destFile,String upFile) throws IOException{ TelnetInputStream in=null; try { in=ftp.list(); //获取当前目录列表 } catch (Exception e) { System.out.println("无法获取目录列表:"+e.getMessage()); } info=ftp.getResponseString(); //获取服务器响应信息 System.out.println("获取当前目录列表:"+info); try { int ch; StringBuffer buf=new StringBuffer(); in=ftp.list();//得到主机端当前目录下的所有文件和目录输入数据流 while ((ch=in.read())>=0) { buf.append((char)ch); } in.close(); System.out.println(buf); }catch (Exception e) { System.out.println("读取目录列表的信息:"+e.getMessage()); } System.out.println("---"+info); try { ftp.cd(currentDir); //改变当前目录进入show目录下 } catch (Exception e) { System.out.println("无法改变当前目录:"+e.getMessage()); } info=ftp.getResponseString(); System.out.println("改变当前"+currentDir+"目录:"+info); ftp.binary();// 上传下载二进制文件的标致 putfile=ftp.put(destFile);// 设置上传的文件名 info=ftp.getResponseString(); System.out.println("上传到FTP服务器的文件名为:"+destFile+"信息"+info); //创建文件输入流 FileInputStream fs=new FileInputStream(upFile); while(true){ int i=fs.read(); //读取Html文件 if(i==-1) break; else{ putfile.write((byte)i); //按字节写入文件中 putfile.flush(); //刷新后才能写入成功! } } putfile.close(); fs.close(); System.out.println("本地文件"+upFile+"上传到FTP服务网上的"+currentDir+"目录下的"+destFile); } }
发表评论
-
POST发送XML数据
2013-10-16 14:09 9973package com.itheima.xml; i ... -
发送 GET 和 POST请求
2013-10-05 11:28 3307/** *@param url 发送请求的url ... -
Java 多线程断点续传 (基于HTTP)
2013-03-14 09:42 8855http://wenku.baidu.com/view/57f ... -
Java 多线程断点续传 (基于HTTP)
2013-03-13 23:13 953http://wenku.baidu.com/view/57f ... -
Socket 点对点 通信
2013-03-13 12:54 4379Socket通常称作为 "套接字",用于描 ... -
Socket 点对面 通信
2013-03-13 12:53 1581Socket 点对面 通信 创建多客户连接的socket通信 ... -
Socket 点对点通信
2013-03-12 20:07 929Socket通常称作为 "套接字",用于描 ... -
FTP 登录 下载 上传 文件
2013-03-11 22:43 101.使用 Serv-U 在本机上创建一个 FTP服务器 h ... -
URL 获取网络资源
2013-03-11 09:23 1977URL 获取网络资源 packag ... -
IP地址和域名的获取
2013-03-10 21:44 1440InetAddress 获取 IP地址和域名 packag ... -
Java 抓取网页上的图片
2012-09-23 17:28 12622本文介绍 1.利用正则 匹 ... -
java 下载网络上的图片并保存到本地目录
2012-09-22 02:32 57446import java.io.File; import ... -
java 根据URL获取网页源码
2012-09-21 00:20 11272import java.io.BufferedReader ...
相关推荐
FTP上传下载文件
**VB API FTP上传下载源代码详解** 在信息技术领域,FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。在VB(Visual Basic)环境中,我们可以使用API(Application Programming Interface...
总的来说,VC++ FTP上传下载涉及网络编程、文件操作和XML处理等多个方面。开发者需要熟悉WinInet API或第三方FTP库的使用,理解FTP协议的工作原理,以及如何在C++中处理XML文件。通过这些技术,可以在VC++环境中实现...
VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效编程 99 FTP上传下载VisualC 实效...
java Android安卓FTP登录上传下载删除java Android安卓FTP登录上传下载删除java Android安卓FTP登录上传下载删除java Android安卓FTP登录上传下载删除java Android安卓FTP登录上传下载删除java Android安卓FTP登录...
"ftp上传下载图片" FTP(File Transfer Protocol,文件传输协议)是一种常用的网络协议,用于在网络上进行文件传输。FTP 协议允许用户在远程服务器上存储和检索文件。在这里,我们将讨论如何使用 C# 语言实现 FTP ...
FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP工具上传下载FTP...
在这个场景中,"一个ftp上传下载类(MFC)" 是一个使用MFC构建的类,它封装了FTP协议,使得开发者能够方便地在自己的应用中实现FTP的上传和下载功能。 FTP上传下载类的核心功能包括: 1. **连接与断开**:类应包含...
### VB FTP上传下载知识点解析 #### 一、概述 在提供的代码示例中,主要涉及了使用Visual Basic(简称VB)进行FTP(File Transfer Protocol,文件传输协议)上传与下载的功能实现。FTP是一种用于在网络上进行文件...
在本文中,我们将深入探讨FTP上传下载的C#源代码实现及其相关的知识点。 一、FTP基本概念 FTP允许用户在两台计算机之间交换文件,通常涉及一个服务器(提供文件)和一个客户端(请求文件)。它使用TCP作为传输层...
VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用. VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用. VB6 FTP 上传 下载 源代码,用的API,不是那种控件版本,拿来就能用.
FTP上传涉及到将本地文件发送到远程FTP服务器。使用libcurl,我们可以通过以下步骤实现: 1. **初始化libcurl**:创建一个`CURL`指针,并调用`curl_global_init()`初始化全局设置。 2. **设置URL**:使用`curl_...
基于安卓的FTP登录、上传、下载、删除、文件夹创建和常用方法的封装。
在本文中,我们将深入探讨如何使用C# WinForm应用程序实现FTP(文件传输协议)功能,以便进行图片的上传和下载。FTP是一种广泛用于在互联网上交换文件的标准协议,而C# WinForm则提供了用户友好的图形界面来实现这一...
**Qt4实现FTP上传下载服务器** Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面和移动设备的应用程序开发。FTP(File Transfer Protocol)是互联网上用于文件传输的标准协议,允许用户从远程主机...
C# FTP上传下载是开发过程中常见的一项任务,它涉及到网络通信和文件操作。在C#中,我们可以利用System.Net命名空间中的FtpWebRequest和FtpWebResponse类来实现FTP(File Transfer Protocol)的功能。下面将详细介绍...
1. **FTP基础**:理解FTP的基本工作原理,包括主动模式和被动模式、FTP命令(如`PUT`用于上传,`GET`用于下载)、身份验证(匿名登录和用户名/密码登录)以及FTP会话的建立和关闭。 2. **VB与FTP的接口**:VB中可以...
在这个"FTP上传与下载程序PB"的案例中,我们将会探讨如何使用PowerBuilder来实现FTP功能,包括文件的上传和下载,以及可能涉及的自动升级机制。 首先,理解FTP的基本概念至关重要。FTP允许用户在两台计算机之间交换...
在本文中,我们将深入探讨如何使用C++在...请注意,这只是一个基础的实现,实际应用可能需要处理更复杂的场景,如SSL/TLS加密、错误重试、多线程上传下载等。对于这些高级功能,libcurl提供了丰富的选项和API来支持。