String customFile= "tenihao你好啊我是测试 看看对不s";
String filename = "test.txt";
HttpServletResponse res = response;
res.setContentType("application/txt; charset=\"GBK\"");
res.setHeader("Content-disposition","attachment;filename="+filename);
BufferedInputStream bis=null;
BufferedOutputStream bos=null;
// 构建输入流
bis=new BufferedInputStream(new ByteArrayInputStream(customFile.getBytes()));
bos=new BufferedOutputStream(res.getOutputStream());
// 是指buffer大小
byte[] buff=new byte[1024];
int bytesRead;
// 输出
while(-1!=(bytesRead=bis.read(buff,0,buff.length))) {
bos.write(buff,0,bytesRead);
bos.flush();
}
较完整的代码
PersistenceService ps = null;
QueryDescription qd = null;
QueryResult qr = null;
RowSet rs = null;
try{
String icparaString= "";
String filename = priKey[0]+"_"+priKey[1]+".txt";
//查询收单机构代码
String selSql = "SELECT HEX(T.IC_PARA_DOWNLOAD) AS IC_PARA_DOWNLOAD FROM TBL_MCMGM_POS_TERM_PARA t where T.MCHNT_CD='"+priKey[0]+"' AND T.TERM_ID='"+priKey[1]+"'";
logger.debug("*******************"+selSql);
qd = new QueryDescription();
ps = ServiceLocate.getInstance().getPersistenceService();
qd.setDataSource(McmConst.JNDI_DS_MCMDB);
qd.setQuery(selSql);
qr = ps.sqlQuery(qd);
rs = qr.getRowSet();
if(rs.next()){
icparaString = rs.getString("IC_PARA_DOWNLOAD");
}else{
getRequest().setAttribute("errorMsg","所选记录的IC参数文件不存在!");
return new Forward("failure");
}
//文件下载
HttpServletResponse res = getResponse();
res.setContentType("application/octet-stream-dummy; charset=\"GBK\"");
res.setHeader("Content-disposition","attachment;filename="+filename);
// 构建输入流
BufferedInputStream bis=new BufferedInputStream(new ByteArrayInputStream(icparaString.getBytes()));
BufferedOutputStream bos=new BufferedOutputStream(res.getOutputStream());
// 是指buffer大小
byte[] buff=new byte[1024];
int bytesRead;
// 输出
while(-1!=(bytesRead=bis.read(buff,0,buff.length))) {
bos.write(buff,0,bytesRead);
bos.flush();
}
bis.close();
bis = null;
bos.close();
bos = null;
}catch (Exception e) {
e.printStackTrace();
return new Forward("failure");
}finally{
if(rs != null){
rs.close();
rs=null;
}
qr=null;
qd=null;
ps=null;
}
return null;
String filename = "test.txt";
HttpServletResponse res = response;
res.setContentType("application/txt; charset=\"GBK\"");
res.setHeader("Content-disposition","attachment;filename="+filename);
BufferedInputStream bis=null;
BufferedOutputStream bos=null;
// 构建输入流
bis=new BufferedInputStream(new ByteArrayInputStream(customFile.getBytes()));
bos=new BufferedOutputStream(res.getOutputStream());
// 是指buffer大小
byte[] buff=new byte[1024];
int bytesRead;
// 输出
while(-1!=(bytesRead=bis.read(buff,0,buff.length))) {
bos.write(buff,0,bytesRead);
bos.flush();
}
较完整的代码
PersistenceService ps = null;
QueryDescription qd = null;
QueryResult qr = null;
RowSet rs = null;
try{
String icparaString= "";
String filename = priKey[0]+"_"+priKey[1]+".txt";
//查询收单机构代码
String selSql = "SELECT HEX(T.IC_PARA_DOWNLOAD) AS IC_PARA_DOWNLOAD FROM TBL_MCMGM_POS_TERM_PARA t where T.MCHNT_CD='"+priKey[0]+"' AND T.TERM_ID='"+priKey[1]+"'";
logger.debug("*******************"+selSql);
qd = new QueryDescription();
ps = ServiceLocate.getInstance().getPersistenceService();
qd.setDataSource(McmConst.JNDI_DS_MCMDB);
qd.setQuery(selSql);
qr = ps.sqlQuery(qd);
rs = qr.getRowSet();
if(rs.next()){
icparaString = rs.getString("IC_PARA_DOWNLOAD");
}else{
getRequest().setAttribute("errorMsg","所选记录的IC参数文件不存在!");
return new Forward("failure");
}
//文件下载
HttpServletResponse res = getResponse();
res.setContentType("application/octet-stream-dummy; charset=\"GBK\"");
res.setHeader("Content-disposition","attachment;filename="+filename);
// 构建输入流
BufferedInputStream bis=new BufferedInputStream(new ByteArrayInputStream(icparaString.getBytes()));
BufferedOutputStream bos=new BufferedOutputStream(res.getOutputStream());
// 是指buffer大小
byte[] buff=new byte[1024];
int bytesRead;
// 输出
while(-1!=(bytesRead=bis.read(buff,0,buff.length))) {
bos.write(buff,0,bytesRead);
bos.flush();
}
bis.close();
bis = null;
bos.close();
bos = null;
}catch (Exception e) {
e.printStackTrace();
return new Forward("failure");
}finally{
if(rs != null){
rs.close();
rs=null;
}
qr=null;
qd=null;
ps=null;
}
return null;