在项目中需要到别人的FTP服务器下载一个类似于2007-08-18_项目描述.zip的包,当路径为ftp://195.168.0.1/2007-08- 18_项目描述.zip时能正确下载,当路径为ftp://195.168.0.1/项目描述/2007-08-18_项目描述.zip时下载出现中文路径乱。跪求高手解决。
代码如下:
public File download(String downloadFile) throws IOException {
FTPClient ftp = JobHelper.getFTPClient(jobdata.getFtpServer(), jobdata
.getFtpUsername(), jobdata.getFtpPassword());
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
OutputStream output;
File localFilepath = new File(jobdata.getFtpLocalFilepath() + "\\"
+ downloadFile);
System.out.println("======downloadFilePath=========="+localFilepath);
// 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File dataDir = new File(localFilepath.getParent());
System.out.println("========dataDir======="+dataDir);
// 测试此抽象路径名表示的文件或目录是否存在。
if (!dataDir.exists())
// 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
dataDir.mkdirs();
output = new FileOutputStream(localFilepath);
ftp.retrieveFile(new String(downloadFile.getBytes("GB2312"),"ISO-8859-1"), output);
output.close();
return localFilepath;
}

解决方案 »

  1.   

    跟ftp服务器有关,如非必要,不要设置中文路径。要不就修改你的ftpserver使其支持中文目录!
      

  2.   


    用iis建立的ftp服务器,如何修改ftpserver呢?能说具体一点吗?请指教
      

  3.   

    IIS没用过。但是楼主,microsoft不一定会支持中文,你还是尽量适应它,不要用中文做目录吧