服务器之家

服务器之家 > 正文

Java导出txt文件的方法

时间:2019-12-19 13:25     来源/作者:wo_soul

本文实例讲述了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程序设计有所帮助。

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部