[java] java 实现FTP服务器文件的上传和下载
利用Apache commons-net 实现;
package com.xwolf.driver.util; import com.xwolf.driver.exception.RunException;
import org.apache.commons.net.ftp.FTPClient; import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.charset.Charset; /**
* Created by Administrator on 2015/9/18.
*/
public class FtpUtil {
//用户名
private static final String username ="root";
//密码
private static final String pwd ="root1234";
//主机
private static final String host ="127.0.0.1";
//端口
private static final int port =21;
/*
*上传文件到ftp
* */
public static void upload(FTPClient ftpClient) throws RunException { File file = new File("C:\\Users\\Administrator\\Desktop\\document\\派单OSS报文.xml");
try {
FileInputStream fis = new FileInputStream(file);
//设置FTP文件目录
ftpClient.changeWorkingDirectory("/weblogic/upload");
//缓冲区
ftpClient.setBufferSize(1024);
//字符集 貌似用途不大
ftpClient.setControlEncoding("GBK");
ftpClient.setCharset(Charset.forName("GBK"));
//文件类型(二进制文件)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//保存文件到FTP服务器上 防止中文乱码
ftpClient.storeFile(new String("派单OSS报文_0921.xml".getBytes("GBK"),"iso-8859-1"),fis);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
} /**
* 下载文件
* @param ftpClient
*/
public static void download(FTPClient ftpClient) throws RunException {
try {
//保存的文件的名称
FileOutputStream ous = new FileOutputStream(new File("E:\\派单报文.xml"));
ftpClient.setBufferSize(1024);
//设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//服务器上文件名称
ftpClient.retrieveFile("派单OSS报文_0921.xml",ous);
} catch (Exception e) {
throw new RunException("文件上传ftp服务器异常",e);
}
}
public static void main(String[] args) throws RunException { FTPClient ftpClient=new FTPClient(); try {
//连接FTP
ftpClient.connect(host,port);
//是否登录成功
boolean login = ftpClient.login(username,pwd);
if(login){
download(ftpClient);
} } catch (Exception e) {
throw new RunException("ftp服务器连接异常",e);
} } }
[java] java 实现FTP服务器文件的上传和下载的更多相关文章
- 通过JAVA对FTP服务器连接,上传,下载,读取,移动文件等
记录一次对FTP服务器文件内容 通过Java程序对FTP服务器文件处理:连接,上传,下载,读取,移动文件等. 需求描述:今天接到一个任务,在Java项目中,读取FTP服务器上的一些文件,进行一些业务操 ...
- 【Struts】服务器文件的上传和下载
Java中获得文件的文件后缀 import java.io.*; public class FileTest{ public static void main(String args[]){ File ...
- 初学Java Web(7)——文件的上传和下载
文件上传 文件上传前的准备 在表单中必须有一个上传的控件 <input type="file" name="testImg"/> 因为 GET 方式 ...
- Java中文件的上传与下载
文件的上传与下载主要用到两种方法: 1.方法一:commons-fileupload.jar commons-io.jar apache的commons-fileupload实现文件上传,下载 [u ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
- java web(四):request、response一些用法和文件的上传和下载
上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...
- java实现文件的上传和下载
1. servlet 如何实现文件的上传和下载? 1.1上传文件 参考自:http://blog.csdn.net/hzc543806053/article/details/7524491 通过前台选 ...
- java 文件的上传和下载
主要介绍使用 smartupload.jar 包中的方法对文件的上传和下载.上传时文件是存放在服务器中,我用的是tamcat. 首先建立一个servlet 类,对文件的操作 package com.d ...
- java客户端文件的上传和下载
java客户端文件的上传和下载 //上传 public JTable upload(String id){ JTable table=new JTable(); System.out.println( ...
随机推荐
- UVA10529 Dumb Bones
UVA10529 Dumb Bones go to solution 设$f[i]$表示叠$i$个的骨牌的期望 $O(n)$做法 #include<iostream> #include&l ...
- FromBottomToTop第十一周项目博客
FromBottomToTop第十一周项目博客 项目内容 塔防游戏 大体就是在地图上以合理阵型建设防御炮塔来阻止小怪进入我方阵地.玩家需用现有的金币进行炮台建设或升级,金币数可根据打怪个数增加.入侵的 ...
- HDU 4990 Reading comprehension(矩阵快速幂)题解
思路: 如图找到推导公式,然后一通乱搞就好了 要开long long,否则红橙作伴 代码: #include<set> #include<cstring> #include&l ...
- socket可读可写就绪条件
参考 <UNIX 网络编程卷1>中的<第6章 I/O复用> 一. 满足下列四个条件中的任何一个时,一个套接字准备好读. 该套接字接收缓冲区中的数据字节数大于等于套接字接收缓存区 ...
- Linux的硬链接和软链接
1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link), 也就是软链接.默认情况下,ln命令产生硬链接. [硬连接]硬连 ...
- git 撤销
在add之前撤回文件: git checkout src/com/jay/example/testforgit/MainActivity.java 已经add的,先取消添加,再撤回 git reset ...
- 上海仪电Azure Stack技术深入浅出系列1:谈Azure Stack在私有云/混合云生态中的定位
2.2 Azure Stack Azure Stack到2017年7月才提供GA版本,但目前还是可以通过技术预览版了解该技术.Azure Stack本质上是核心Azure服务的一个私有实例. Micr ...
- vue 脚手架(二,项目依赖说明 package.json)
本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 继续上一篇, 上一篇讲了 vue ...
- 拖拉记录上下移动--Ajax UI
所谓的 Ajax 拖拉 UI,就是直接用鼠标进行拖拉排序,这种方式对用户来说操作速度更快. 拖拉的 UI 需要额外的前端套件,这里介绍 jQuery UI 的 Sortable Plugin,并直接使 ...
- Mac上安装配置和简单使用PostgreSQL(仍然很不懂)
因为想要使用推荐的rails-template.需要使用postgres.并初始化了一个用户postgres,密码是postgres.( e.g. $ createuser -d postgres ) ...