package com.ultrapower.project.nmr.shxdownload.ftpdownUtil;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;import javax.servlet.http.HttpServletResponse;import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPClientConfig;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;public class SeforgeFtpUtils { public static boolean downFile(String fileName, HttpServletResponse response) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect("192.168.106.85", 21);
// 如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
ftp.login("nmburd", "nmburd");// 登录
ftp.setControlEncoding("GBK");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}
ftp.changeWorkingDirectory("/2011-7-15/");// 转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(fileName)) {
File localFile = new File("" + "/" + ff.getName());
OutputStream is = new FileOutputStream(localFile);
//弹出下载窗口
response.setHeader("Content-disposition",
"attachment;filename="
+ URLEncoder.encode(fileName, "utf-8"));
ftp.retrieveFile(new String(ff.getName().getBytes("GBK"),
"ISO-8859-1"), is);
is.close();
}
} ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}
}如果我不用response.setHeader 直接下到指定目录.则有数据
求大神帮帮忙.两天了.没弄出来