今天在写source的时候,发现一个问题,就是用commons-net-1.4.1.jar文件中的ftpclient类进行文件上传时,无法上传日文名的文件,返回的错误代码是550,具体错误内容大概是错误的文件名称或者错误的文件路径。在550和错误内容之间显示上传的文件名,发现日文全部使用问号显示。
我开始在网上找解决方法。
在JE上有人写解决方案是使用以下方法:
ftpClient.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
但是我按照上面方法做了以后也没有成功。
最后在google上搜索到一个方法,就是在传送文件时,将文件名转换编码格式,如下:
new String(fileName.getBytes("ms932"),"iso-8859-1");
修改完以后,就可以上传用日文命名的文件了。
大概查看了一下ftpclient中的代码,默认用的是"iso-8859-1"方式进行传送。所以把文件名用"iso-8859-1"转码一下就可以了。
另外有人还说用
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
client.configure(conf);
但是具体我也不清楚如何设定FTPClientConfig中的参数,只得以后再看代码了。
分享到:
相关推荐
Java 中使用 FTPClient 实现上传下载文件 Java 中使用 FTPClient 实现上传下载文件是 Java 程序中经常需要和 FTP 打交道的重要内容。FTPClient 是 Jakarta Commons 中的一个工具类,位于 Commons Net 包中。...
### Java FTPClient 文件上传下载知识点详解 #### 一、引言 在现代软件开发中,文件传输是一项基本而重要的功能。对于Java开发者来说,利用Java的FTPClient进行文件的上传和下载是常见的需求之一。本篇文章将围绕...
Linux FTP 服务器上传文件夹时提示 550 错误问题解决方法 Linux FTP 服务器上传文件夹时提示 550 错误问题解决方法是指在 Linux 操作系统中,使用 FTP 服务器上传文件夹时,遇到 550 错误的问题解决方法。该问题是...
FTPClient是Java中实现FTP功能的一个库,它提供了丰富的API,使得开发者能够方便地与FTP服务器进行交互,包括上传、下载和删除文件。在这个项目中,我们将会深入探讨如何使用FTPClient来完成这些操作。 首先,要...
这篇博客“使用FTPClient实现文件的上传下载”显然关注的是如何利用编程接口FTPClient来执行FTP操作,如上传和下载文件。FTPClient是Apache Commons Net库的一部分,它为Java开发者提供了方便的API来实现FTP功能。 ...
以下是一个简单的使用`FtpClient`上传文件的Java代码示例: ```java import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import java.io.FileInputStream; import java.io....
在本文中,我们将深入探讨如何使用FTPClient来实现FTP文件上传,特别是处理中文文件名的上传问题。 FTP是一种广泛使用的互联网协议,允许用户在两台计算机之间传输文件。在Java中,我们可以利用Apache Commons Net...
通过理解上述代码和相关API,开发者可以构建自己的FTP客户端,实现更复杂的文件上传、下载和管理功能。Apache Commons Net库不仅提供了FTPClient,还包括对其他网络协议的支持,是Java开发中的强大工具。
下面是一个完整的使用FTPClient上传文件的示例函数: ```java public static boolean uploadFile(String url, int port, String username, String password, String path, String filename, InputStream input) { ...
我用的FTPClient是由Apache组织的commons-net.jar包中的API,这个包用起来非常的方便,很容易上手。我在项目开发的过程中主要用到了文件的上传功能,希望大家能学的一些东西
ftpClient.changeWorkingDirectory(path); ftpClient.enterLocalPassiveMode(); //由于apache不支持中文语言环境,通过定制类解析中文日期类型 ftpClient.configure(new FTPClientConfig(...
代码示例展示了如何使用FTPClient上传文件。方法`uploadFile()`接收FTP服务器的相关信息(如URL、端口、用户名、密码、路径、文件名和输入流),并尝试进行文件上传。如果所有操作成功,该方法返回true;否则,返回...
Delphi XE3使用ICS的FTPClient从FTP服务器下载文件,本人用来实现客户端软件自动升级功能,提供从FTP下载文件的源码供...之前用的IdFTP连接服务器经常出现10054错误,参考网上的意见使用ICS的FTPClient解决了这个问题。
### FTPClient上传下载功能详解及断点续传技术解析 #### 一、FTPClient简介 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议,主要用于在不同主机之间传输文件。`FTPClient`是Apache ...
4. **文件上传与下载**:这是FTP的主要用途,FTPClient提供了上传本地文件到服务器,以及从服务器下载文件到本地的功能。 5. **数据传输模式**:FTP有两种数据传输模式,主动(PORT)模式和被动(PASV)模式。...
### Java实现文件下载并解决中文文件名乱码 在日常的Web开发中,经常会遇到需要让用户下载文件的需求,尤其是在企业级应用中。然而,在实际操作过程中可能会遇到一个常见问题:当文件名包含中文字符时,下载后的...
Java编写的FTPClient是用于与FTP(文件传输协议)服务器交互的一个客户端程序,它使得开发者能够在Java应用程序中实现上传和下载文件的功能。FTP是互联网上一个标准的服务,它允许用户在计算机之间传输文件,通常...
详细的ftpclient封装了ftpwebrequest,ftpwebresponse操作ftp服务器的复杂过程与方法,能够像webclient一样简单的操作ftp服务器,实现上传,下载,删除等操作。。。
然后,为了实现大文件的分块上传,我们可以使用`FTPClient.setFileType(FTP.BINARY_FILE_TYPE)`设定为二进制模式,因为大文件通常是非文本文件。接着,我们需要计算文件的总大小,并将其分成若干个块进行上传,这样...
以下是对`JAVA FTPClient文件操作`的详细说明: ### FTP基础知识 FTP是一种用于在网络上传输文件的标准协议,基于TCP/IP网络。它允许用户在本地计算机和远程服务器之间交换文件。FTP有两种模式:主动模式(Port)和...