`
zzq19860626
  • 浏览: 261046 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
B20df9e2-fb3d-3644-9f72-c1619842f682
设计模式学习笔记
浏览量:178002
87eaf24f-812a-3463-8e65-e3197d2ad8c2
java虚拟机
浏览量:26195
社区版块
存档分类
最新评论

apache ftpClient 文件上传

    博客分类:
  • java
阅读更多

 

最近做ftp上传遇到问题,最终解决,现在分享给大家。

这里有四点:

1、将字符串转换成输入流

String s = "this is my test string 中国";
//将字符串转换成输入流
ByteArrayInputStream fis = new ByteArrayInputStream(s.getBytes());

 2、设置编码

ftp.setControlEncoding("GBK");

 3、设置为被动模式

ftp.enterLocalPassiveMode();

 4、上传和下载文件名称编码,当文件名为中文时,上传下载可能需要编码

//上传文件名称
boolean fb = ftp.storeFile(new String("test中文.csv".getBytes("GBK"),"iso8859-1"), fis);

 

最终测试代码如下:

package ftpTest;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import org.apache.commons.net.ftp.FTPClient;
public class ApacheFtpTest {
	/**
	 * @param args
	 * @throws IOException
	 */
	public static void main(String[] args) throws IOException {
		String s = "this is my test string 中国";
		//将字符串转换成输入流
		ByteArrayInputStream fis = new ByteArrayInputStream(s.getBytes());
		FTPClient ftp = new FTPClient();
		//host,端口
		ftp.connect("127.0.0.1", 21);
		//必须设置,上传非iisc文件,如果不设置默认是iisc码格式传输,导致文件坏死
		ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
		//如果遍历文件名乱码,请设置为GBK,或者你需要的编码
		ftp.setControlEncoding("GBK");
		//超时时间必须设置,方式长时间连接没响应
		ftp.setControlKeepAliveReplyTimeout(15000);
		ftp.setConnectTimeout(15000);
		ftp.setControlKeepAliveTimeout(15000);
		//设置被动模式,在很多情况下由于防火墙等原因,主动模式不支持。
		ftp.enterLocalPassiveMode();
		//帐户密码
		ftp.login("帐户", "密码");
		System.out.println("login success");
		//服务器路径
		ftp.changeWorkingDirectory("/");
		//上传文件名称
		ftp.storeFile("test.txt", fis);
                //上传文件名称
		//boolean fb = ftp.storeFile(new String("test中文.csv".getBytes("GBK"),"iso8859-1"), fis);
		ftp.logout();
	}

}

 

 

分享到:
评论

相关推荐

    FTPClient 文件上传

    我用的FTPClient是由Apache组织的commons-net.jar包中的API,这个包用起来非常的方便,很容易上手。我在项目开发的过程中主要用到了文件的上传功能,希望大家能学的一些东西

    Java常用FTP文件操作说明Apache.FTPClient,ftp4j,jftp

    Java常用FTP 文件操作 说明 Apache FTPClient ftp4j jftp java中实现ftp 文件上传 文件下载

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    org.apache.commons.net.ftp.FTPClient FTP工具类,实现上传、下载、压缩到输出流下载等功能

    使用FTPClient实现ftp文件上传

    本项目使用org.apache.commons.net.ftp.FTPClient实现文件上传到ftp服务器,解决不能上传中文文件的问题。

    apache java ftpclient

    最近做了一个JAVA FTP协议 APACHE包内,上传,下载,查看,删除文件和目录的东西,拿出来给不明白的同学分享一下,希望得到帮助。搭建好服务器后,运行代码实现相应功能。

    FTPClient.listFiles()获取文件为空的问题.

    //由于apache不支持中文语言环境,通过定制类解析中文日期类型 ftpClient.configure(new FTPClientConfig("com.zznode.tnms.ra.c11n.nj.resource.ftp.UnixFTPEntryParser")); FTPFile[] files = ftpClient.list...

    ftpClient.listFiles()返回值为空的解决方案(上一个传错了)

    解决了某些系统中,ftpClient.listFiles()返回值总是为空的问题。 使用方法如下: ftpClient.changeWorkingDirectory(path); ftpClient.enterLocalPassiveMode(); ftpClient.configure... // 得到目录的相应文件列表

    commons-net-1.2.2.jar

    Apache FTPClient所需jar包

    Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    主要介绍了Java中FTPClient上传中文目录、中文文件名乱码问题解决方法,本文使用apache-commons-net工具包时遇到这个问题,解决方法很简单,需要的朋友可以参考下

    Apache ftp上传

    org.apache.commons.net.ftp.FTPClient进行上传文件,功能强大 ,可实现文件的上传和下载

    利用ftp协议进行文件的上传下载

    利用apache 的FTPClient技术进行ftp的上传下载,可以安装一个ftpserver在自己的机器上面来做测试。

    java通过ftp上传下载文件

    java通过ftp三种方式 上传 下载文件: 1. 通过sun :sun.net.ftp.FtpClient 2. 通过apache:org.apache.commons.net.ftp.FTPClient 3. 通过edtftp: com.enterprisedt.net.ftp.FileTransferClient

    自己收集的多个Java FTP断点续传的例子源码

    解决FTPClient上传文件时文件被破坏问题 - janestone的专栏 - 博客频道 - CSDN.NET (2012年5月21日) 用apache的FTP实现断点续传 - janestone的专栏 - 博客频道 - CSDN.NET (2012年5月21日) java实现FTP多线程断点续...

    java应用ftp操作文件

    最近在做ftp文件的上传与下载,基于此,整理了一下资料。本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的。。。

    ftp上传文件夹数据到服务器

    最近在做一个数据文件上传的功能,找很网上很多材料都是只能jdk6以下才支持发现都是jdk6以下才支持的,发现Apache下提供的FTPClient更好用,以下代码都是亲测成功的,文件夹中有两个java类以及用的的jar文件

    Android FTP服务器上传文件攻略(代码详解)

    在开发中,会遇到向FTP服务器上传文件的需求,首先要导入 commons-net-3.3.jar 然后利用api进行相关操作,具体功能如下: Ftp相关代码 import android.util.Log; import org.apache.commons.net.ftp.FTP; import org...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

Global site tag (gtag.js) - Google Analytics