0 0

commons.net.ftp 乱码5

ftpClient.setControlEncoding("GBK");
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.changeWorkingDirectory(path);
ftpClient.storeFile(new String(getFileName(file).getBytes("GBK"),
"iso-8859-1"), fis);

部分代码。本来这样没问题。文件名中文也行。不过要是目录有中文或者大写字母,中文文件名就会乱码。现在想解决目录有大写字母文件名不会乱码。

/nihao/你好.txt (正常)
/NIHAO/你好.txt  (你好会乱码)

问题补充:有测了,和目录名没关系。即使都是英文。第一次正常。接下来就不正常了。

问题补充:现在的问题是新建的文件夹名称乱码。请指教

问题补充:ftpClient.makeDirectory(new String(dir.getBytes(), ftpClient
.getControlEncoding()));
2012年9月25日 13:12

2个答案 按时间排序 按投票排序

0 0

1、ftpClient.setControlEncoding("GBK");  //设置了编码
     ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
    ftpClient.changeWorkingDirectory(path);   
    ftpClient.storeFile(getFileName(file), fis); //直接这样不行?

2012年9月25日 19:59
0 0

ftpClient.storeFile(new String(getFileName(file).getBytes("GBK"),
"iso-8859-1"), fis); 编码写反了,应该为:
ftpClient.storeFile(new String(getFileName(file).getBytes("iso-8859-1"),
"GBK"), fis);

2012年9月25日 13:15

相关推荐

    使用FTPClient实现ftp文件上传

    FTP协议默认使用ASCII字符集,这可能导致中文文件名在传输过程中出现乱码。为了解决这个问题,我们需要在连接FTP服务器时设置字符集为UTF-8: ```java FTPClient ftpClient = new FTPClient(); ftpClient....

    android文件上传fttp的各种操作代码实例.pdf

    import org.apache.commons.net.ftp.FTP; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClientConfig; import org.apache.commons.net.ftp.FTPFile; import org.apache....

    Java的FTP任务代码实例

    import org.apache.commons.net.ftp.FTPClientConfig; import org.apache.commons.net.ftp.FTPReply; public class FtpUtil { private FTPClient ftpClient; private String hostname; private int port; ...

    javaftp实现上传下载解决编码问题.doc

    import org.apache.commons.net.ftp.FtpClient; import sun.net.NetworkClient; public class CustomFtpClient extends FtpClient { public CustomFtpClient(String encodingStr) { super(); NetworkClient....

    jsp版本ftp文件上传与下载

    为了在JSP中实现FTP功能,我们需要借助Java的`java.net`和`org.apache.commons.net.ftp`库。Apache Commons Net是一个强大的FTP客户端库,提供了许多实用的FTP操作类和方法。 在JSP中实现FTP文件上传,主要步骤包括...

    ftp-for-java.zip_FTP上传乱_site:www.pudn.com

    首先,Java提供了`java.net.FTPURLConnection`类来处理FTP连接,但这个类并不完全满足所有需求,因此开发者通常会选择使用第三方库,如Apache Commons Net库。Apache Commons Net提供了一个强大且功能齐全的FTP...

    基于java的远程登录和文件传输功能的实现

    Java中实现FTP功能,可以使用`java.net.FTPClient`类或者第三方库如Apache Commons Net。 2.1 FTP协议基础 FTP协议包含两个通道:控制通道和数据通道。控制通道用于发送命令和接收响应,数据通道则用于实际的文件...

    java操作ftp下载文件示例

    Java操作FTP下载文件是通过Java的`org.apache.commons.net.ftp`库实现的,这个库提供了FTP客户端的功能,可以连接到FTP服务器、登录、浏览目录、上传和下载文件等。以下是一个详细的步骤解释: 1. **创建FTPClient...

    applet ftp client 例子

    3. **Java FTP库**:Java标准库提供了一个`java.net.FTPSClient`类,可以用来实现FTP功能。但这个类不支持Applet环境,因此通常我们会使用Apache Commons Net库中的`FTPClient`类,它更强大且适用于Applet。 4. **...

    java编写的FTP客户端程序

    2. **Java FTP库**:Java提供了`java.net.Socket`类进行低级别的网络通信,但处理FTP协议较为复杂。因此,通常会使用Apache Commons Net库,它提供了`FTPClient`类,简化了FTP操作。这个库提供了连接、登录、文件...

Global site tag (gtag.js) - Google Analytics