-
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个答案 按时间排序 按投票排序
-
1、ftpClient.setControlEncoding("GBK"); //设置了编码
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.changeWorkingDirectory(path);
ftpClient.storeFile(getFileName(file), fis); //直接这样不行?2012年9月25日 19:59
-
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
相关推荐
FTP协议默认使用ASCII字符集,这可能导致中文文件名在传输过程中出现乱码。为了解决这个问题,我们需要在连接FTP服务器时设置字符集为UTF-8: ```java FTPClient ftpClient = new FTPClient(); ftpClient....
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....
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; ...
import org.apache.commons.net.ftp.FtpClient; import sun.net.NetworkClient; public class CustomFtpClient extends FtpClient { public CustomFtpClient(String encodingStr) { super(); NetworkClient....
为了在JSP中实现FTP功能,我们需要借助Java的`java.net`和`org.apache.commons.net.ftp`库。Apache Commons Net是一个强大的FTP客户端库,提供了许多实用的FTP操作类和方法。 在JSP中实现FTP文件上传,主要步骤包括...
首先,Java提供了`java.net.FTPURLConnection`类来处理FTP连接,但这个类并不完全满足所有需求,因此开发者通常会选择使用第三方库,如Apache Commons Net库。Apache Commons Net提供了一个强大且功能齐全的FTP...
Java中实现FTP功能,可以使用`java.net.FTPClient`类或者第三方库如Apache Commons Net。 2.1 FTP协议基础 FTP协议包含两个通道:控制通道和数据通道。控制通道用于发送命令和接收响应,数据通道则用于实际的文件...
Java操作FTP下载文件是通过Java的`org.apache.commons.net.ftp`库实现的,这个库提供了FTP客户端的功能,可以连接到FTP服务器、登录、浏览目录、上传和下载文件等。以下是一个详细的步骤解释: 1. **创建FTPClient...
3. **Java FTP库**:Java标准库提供了一个`java.net.FTPSClient`类,可以用来实现FTP功能。但这个类不支持Applet环境,因此通常我们会使用Apache Commons Net库中的`FTPClient`类,它更强大且适用于Applet。 4. **...
2. **Java FTP库**:Java提供了`java.net.Socket`类进行低级别的网络通信,但处理FTP协议较为复杂。因此,通常会使用Apache Commons Net库,它提供了`FTPClient`类,简化了FTP操作。这个库提供了连接、登录、文件...