/** FTP地址 */
private static final String GY_SERVER = "10.0.0.1";// 正式
/**** 用户名*/
private static final String GY_FTP_USERNAME = "test";// 正式
/***** 密码*/
private static final String GY_FTP_USERPASSWORD = "test";// 正式
/**** 远程FTP上传的目录*/
private static final String GY_FTP_REMOTE_PATH = "/data/ftpFile/";
String path= this.getClass().getClassLoader().getResource(".").getPath();
/** 文件名 **/
String fileName = getFileName()+".txt";
String filePath = path+"txtFile/"+fileName;
/**** 本地保存txt的目录*/
String GY_SAVE_DIR = path+"txtFile/";
File txtFile = new File(GY_SAVE_DIR);
if (!txtFile.exists()) {
txtFile.mkdir();
}
ftpUpload(GY_SAVE_DIR + File.separator + fileName, fileName);
/**
* FTP上传单个文件
*/
public static void ftpUpload(String filename, String oldFileName) {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;
int reply;
try {
System.out.println("====================connect start============================");
ftpClient.connect(GY_SERVER);
ftpClient.setConnectTimeout(20000);
System.out.println("====================login start============================");
ftpClient.login(GY_FTP_USERNAME, GY_FTP_USERPASSWORD);
reply = ftpClient.getReplyCode();
System.out.println("======reply========" + reply);
if (!FTPReply.isPositiveCompletion(reply)) {
ftpClient.disconnect();
System.out.println("连接服务器失败");
}
System.out.println("登陆服务器成功");
File srcFile = new File(filename);
fis = new FileInputStream(srcFile);
//设置上传目录
ftpClient.changeWorkingDirectory(GY_FTP_REMOTE_PATH);
ftpClient.setBufferSize(10240);
ftpClient.setControlEncoding("UTF-8");
//设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
//remotePath路径传输 是以.tmp格式传输到远程目录下
String remotePath = oldFileName+".tmp";
ftpClient.storeFile(remotePath, fis);
//将远程目录下的文件.tmp格式改为.txt格式,保持文件原子性
ftpClient.rename(remotePath, oldFileName);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("FTP客户端出错!", e);
} finally {
IOUtils.closeQuietly(fis);
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("关闭FTP连接发生异常!", e);
}
}
}
相关推荐
个人用C写的一个FTP上传单个文件的小程序,对ftp原理的简单研究; 下载的用户,请在linux下用gcc编译即可运行,没有特殊环境依赖。
libcurl 作为ftp客户端上传文件,VS2008 QT4.7
java ftp上传进行文件的读取和上传 上传单个文件的文件流 创建远程服务器目录 删除指定文件 上传单个文件 获取指定ftp目录下文件名
C#上传指定文件到FTP
FTP 上传单个文件 下载文件、文件夹 删除文件、文件夹 创建目录 FTP相关操作 及将获取的数据运用ListView控件进行展示。
自己重新封装的C# FTP实现上传,下载,创建文件,文件夹,删除单个文件 MD5校验等, 支持FTP非空目录递归删除操作,测试通过,好用 环境为VS2012 开发
QT4下,采用QFTP实现单个文件上传、下载、改名及刷新。文件夹及子文件上传、改名、刷新。注意:无文件夹及子文件下载
简单的实现了单个文件的上传与下载,内附使用方法
该源代码给出来双缓冲画图去闪的做法,以及MFC中FTP上传单个文件 和递归搜索并在树形结构中显示的例子,在这里做个备份,也希望能够帮到需要的人
首先包含ftptool.h头文件至项目中,头文件中只提供了上传单个文件到指定ftp目录的功能,完整的使用在main函数里
FTP客户端程序:实现时候用到了多线程断点上传
ftp上传控件(FTP ActiveX OCX Control)是用Scoket API实现的FTP功能的客户端控件,可以在网页中实现上传文件的功能,可以在多种开发环境中使用,如VB,VC,C#,.net,PB,Delphi等。 >>上传、下载单个多个文件或目录,...
实现了ftp服务,能够下载和上传单个文件。
11、可以限制上传单个文件大小, 控制上传带宽上限, 允许文件扩展名, 拒绝文件扩展名等 12、上传数据时会根据网络状况来控制数据包大小, 避免网络堵塞 13、控件采用ATL编写, cab包只有59KB, 用56k的modem下载不会超过...
这是一个最基本的上传代码,每次只能单个文件,我们现在要做的就是对代码进行改进。 已经知道了我们得到的cont里面文件结构的形式,于是我们可以利用os.path.join()这个函数来组合文件路径,那么又产生了个难点——...
今天讲一讲 android怎么上传文件到ftp 这个功能比较实用的,因为批量上传文件http post 用上传限制的。(特别是大文件) 1、先说说例子文件结构 2、一个简单的界面 ...5、上传单个文件 uploadSingleFile
ftp上传或下载支持单个大于2G以上的文件,有了它,不再被传统的ftp受TCP协议所限制了,绝对好用!
FTP登录工具,与commons-net.jar架构相似...但由于不知怎么删除目录,所以暂没有做删除目录的功能) 5、删除指定文件 6、判断FTP上目录是否存在 7、上传单个文件 8、下载单个文件 */ ...展开详情
实现浏览本地文件,本地文件的压缩和解压缩,本地文件单个和批量上传到服务器,并且可以选择上传到FTP服务器的目的目录,FTP服务器文件分级浏览,ftp服务器上文件单个和批量下载到本地指定目录,FTP服务器上新建...
3. 控件可进行单个文件和多个文件上传,支持最大每个文件2G,只要你喜欢,可控制文件大小和文件格式,怎样都行; 4. 控件参数和控制函数齐全,开发人员可灵活运用啦; 5. 控件有上传进度条、上传剩余时间显示;合晒...