本文实例讲述了Java导出txt文件的方法。分享给大家供大家参考。具体如下:
例子一
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
/**
* export导出文件
*/
@RequestMapping (value= "/grab/export/csv" ,method={RequestMethod.GET})
public void exportCsv(HttpServletRequest request,HttpServletResponse response){
String userId = ServletRequestUtils.getStringParameter(request, "userId" , "test" );
ModelAndView mav= new ModelAndView();
SqlVideoList sqlVideoList = new SqlVideoList();
List<VideoListModel> list = new ArrayList<VideoListModel>();
try {
list = sqlVideoList.selectSuccessDate(userId);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//导出txt文件
response.setContentType( "text/plain" );
String fileName= "videolist" ;
try {
fileName = URLEncoder.encode( "videolist" , "UTF-8" );
} catch (UnsupportedEncodingException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
response.setHeader( "Content-Disposition" , "attachment; filename=" + fileName + ".txt" );
BufferedOutputStream buff = null ;
StringBuffer write = new StringBuffer();
String enter = "\r\n" ;
ServletOutputStream outSTr = null ;
try {
outSTr = response.getOutputStream(); // 建立
buff = new BufferedOutputStream(outSTr);
//把内容写入文件
if (list.size()> 0 ){
for ( int i = 0 ; i < list.size(); i++) {
write.append(list.get(i).getUrl()+ "," );
write.append(list.get(i).getTitle());
write.append(enter);
}
}
buff.write(write.toString().getBytes( "UTF-8" ));
buff.flush();
buff.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
buff.close();
outSTr.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
|
例子二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
/**
* 导出VIP兑换码。
* @throws UnsupportedEncodingException
*/
@RequestMapping (value = "/{exchangeId}/{packageId}/export" , method = RequestMethod.GET)
public void writeToTxt( @PathVariable String exchangeId, @PathVariable String packageId, HttpServletRequest request,HttpServletResponse response) throws UnsupportedEncodingException {
String schoolId = this .getSchoolId(request); // 网校ID
// 获取网校的VIP套餐相应的兑换码
VipCodeExample example= new VipCodeExample();
example.createCriteria().andSchoolIdEqualTo(schoolId).andPackageIdEqualTo(packageId).andExchangeIdEqualTo(exchangeId);
List<VipCode> vipCodes = vipExchangeManager.getVipCode(example);
if (vipCodes.size()> 0 ){
response.setContentType( "text/plain" ); // 一下两行关键的设置
response.addHeader( "Content-Disposition" ,
"attachment;filename=" +java.net.URLEncoder.encode(vipCodes.get( 0 ).getName(), "UTF-8" )+ ".txt" );
// filename指定默认的名字
VipCode vipcode= new VipCode();
BufferedOutputStream buff = null ;
StringBuffer write = new StringBuffer();
String tab = " " ;
String enter = "\r\n" ;
ServletOutputStream outSTr = null ;
try {
outSTr = response.getOutputStream(); // 建立
buff = new BufferedOutputStream(outSTr);
for ( int i = 0 ; i < vipCodes.size(); i++) {
vipcode = vipCodes.get(i);
write.append(i+ 1 ); //序号
write.append(tab);
write.append(vipcode.getExchangeCode());
write.append(tab);
if ( "normal" .equals(vipcode.getStatus())){
write.append( "正常" );
} else {
write.append( "已兑换" );
}
write.append(enter);
}
buff.write(write.toString().getBytes( "UTF-8" ));
buff.flush();
buff.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
buff.close();
outSTr.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
|
希望本文所述对大家的java程序设计有所帮助。