/**
* 检查结果记录比较多,存储于独立的数据库服务器
* @param mapping
* @param form
* @param request
* @param response
* @return
*/
public ActionForward checkResultDown(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws JSchException {
String downDate = request.getParameter("downDate");
String selOrg = "";
String downFile = "";
try {
selOrg= URLDecoder.decode(request.getParameter("selOrg"),"UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
//服务器上存在的文件名称规则:机构代码_日期
downFile = selOrg.split("_")[0]+"_"+downDate;
FTPClient ftpClient = new FTPClient();
try {
String hosts = Constant.getStPara("hosts");
String user = Constant.getStPara("user2");
String pwd = Constant.getStPara("pwd");
String tmpPath = Constant.getStPara("tmpResultPath");
File f = new File(tmpPath);
if(!f.exists()){
f.mkdirs();
}
ftpClient.connect(hosts);
ftpClient.setControlEncoding("UTF-8");
FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");
//FTP登录后用户会有自己初始化配置的目录
ftpClient.login(user, pwd);
FTPFile[] fs = ftpClient.listFiles();
ftpClient.setBufferSize(1024);
// 设置文件类型(二进制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
FileOutputStream fl = null;
for (int i = 0; i < fs.length; i++) {
FTPFile ff = fs[i];
String fileName = ff.getName();
if (fileName.startsWith(selOrg)) {
ServletOutputStream outputStream = response.getOutputStream();
// 这个就就是弹出下载对话框的关键代码
response.setHeader("Content-disposition","attachment;filename="+ fileName);
fl = new FileOutputStream(tmpPath+fileName);
ftpClient.retrieveFile(fileName, fl);
//将FTP服务器上的txt文件保存到本地
fl.flush();
fl.close();
BufferedReader in_=new BufferedReader(new FileReader(tmpPath+fileName));
String line;
int count=1;
while((line=in_.readLine())!=null){
if(count==1){
outputStream.println("规则ID,检测日期,规则说明,规则组ID,检查专题,系统来源,检查表,检查列,检查维度,维度细分,机构号,检查总数,通过数,失败数,出错率,通过率");
}
outputStream.println(line);
count++;
}
in_.close();
outputStream.flush();
outputStream.close();
break;
}
}
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException(e.getMessage());
} finally {
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("关闭FTP连接发生异常!", e);
}
}
return null;
}
相关推荐
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
3.0版本提供了简单的插件开发包,便于有编程基础的朋友自己编写或将其他调试通过的代码修改为X-Scan插件。另外Nessus攻击脚本的翻译工作已经开始,欢迎所有对网络安全感兴趣的朋友参与。需要“Nessus攻击脚本引擎”...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
Java访问权限控制源代码 1个目标文件 摘要:Java源码,文件操作,权限控制 Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
作者主页有很多语法自动完成文件下载,地址 http://editplus.com/files.html 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis) 在“工具→参数选择→用户工具”选项页设置,...
使用说明.txt -- X-Scan使用说明 /dat/language.ini -- 多语言配置文件,可通过设置“LANGUAGE\SELECTED”项进行语言切换 /dat/language.* -- 多语言数据文件 /dat/config.ini -- 用户配置文件,用于...
(相比较bash版,减少了个unicodetable.txt文件,Perl语言内部有转码的方法,不再需要此文件了,bash版是因为在openwrt上没有转码的命令才加上这个对照表的。) (已绑定的用户可跳过3、4步) 3、下面开始把SyncY与...
③ “文件-新建-text”,就可以建立一个空的文本文件,保存时,这个文件自动带有扩展名".txt",也就避免了令人头疼的确认 ④ 模板设置文件名称为“template.ini”,如果和主程序同一路径,可以使用相对路径 罗嗦了...
直接通过FTP上传即可使用,建议先直接上传查询测试。 前台访问:http://网址/目录/ (上传直接使用,无需mysql数据库等的支持) 然后notepad++打开inc/conn.Asp查看参数与网页对应关系。 然后打开默认自带的数据库对比...
作者主页有很多语法自动完成文件下载,地址 http://editplus.com/files.html 【14】工具集成——编译器集成例子(Java、Borland C++、Visual C++、Inno Setup、nsis) 在“工具→参数选择→用户工具”选项页设置,...
在“-port”参数中,允许指定扫描的端口范围(通过修改“dat\config.ini”文件中的“[PORT-LIST]\port=”);在“-ntpass”参数中,允许用户在编辑密码字典时通过“%”通配所有用户名;更新CGI漏洞列表,并对CGI漏洞...
在“-port”参数中,允许指定扫描的端口范围(通过修改“dat\config.ini”文件中的“[PORT- LIST]\port=”);在“-ntpass”参数中,允许用户在编辑密码字典时通过“%”通配所有用户名;更新 CGI漏洞列表,并对CGI...
参数 图标文件, 文本型, 可空, 图标文件的路径 可空:为空时用目标的第一个图标 .参数 运行方式, 整数型, 可空, 1,常规方式,3,最大化,7,最小化 .参数 备注, 文本型, 可空, 快方式的备注信息 .参数 快捷键, 文本型, ...
在Word中,选择"文件"菜单下的"另存为"命令,可以将当前打开的文档另存为能是() A.xls文档类型 B.txt文本文档 C.ppt文件类型 D.bat文档类型 5.关于基本ASCII码,在计算机中的表示方法准确地描述是()。 A.使用8位二...