当前位置: 首页 > news >正文

网站开发中网页之间的链接形式有什么查域名ip地址查询

网站开发中网页之间的链接形式有什么,查域名ip地址查询,郑州建设信息网 首页,配资网站建设多少钱问题情景&#xff1a; 最近项目中遇到了根据第三方系统传递过来的参数&#xff0c;封装为List<实体类对象>后&#xff0c;将该实体类转换为csv文件&#xff0c;然后上传到远程的sftp服务器指定目录的需求。 实现思路&#xff1a; List<实体类对象>转为csv文件的…

问题情景:

最近项目中遇到了根据第三方系统传递过来的参数,封装为List<实体类对象>后,将该实体类转换为csv文件,然后上传到远程的sftp服务器指定目录的需求。

实现思路:

  1. List<实体类对象>转为csv文件的过程。通过OpenCsv实现。

阻塞点:

1.最开始遇到了生成的csv文件的第一行生成的字段名,变成了实体类的大写字段名了,例如userName变为USERNAME并且排序混乱。
2.通过查阅资料找到了以下两个注解,后期却发现两个注解不能同时出现。详见文章
为什么 opencsv 在写入文件时将 csv 标头大写

@CsvBindByName(column = "TradeID")
@CsvBindByPosition(position = 0)

解决方案:

方案一:
创建自定义MappingStrategy :

class CustomMappingStrategy extends ColumnPositionMappingStrategy {
private static final String[] HEADER = new String[]{“TradeID”, “GWML GUID”, “MXML GUID”, “GWML File”, “MxML File”, “MxML Counterparty”, “GWML Counterparty”};

@Override
public String[] generateHeader() {return HEADER;
}

}
并在StatefulBeanToCsvBuilder使用它:

final CustomMappingStrategy mappingStrategy = new CustomMappingStrategy<>();
mappingStrategy.setType(MappingsBean.class);

final StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder(writer)
.withMappingStrategy(mappingStrategy)
.build();
beanToCsv.write(makeFinalMappingBeanList());
writer.close()
在MappingsBean类中,我们留下了CsvBindByPosition注释 - 以控制排序(在此解决方案中, CsvBindByName注释)。 由于自定义映射策略,标题列名称包含在生成的 CSV 文件中。

此解决方案的缺点是,当我们通过CsvBindByPosition注释更改列顺序时,我们必须手动更改自定义映射策略中的HEADER常量。

方案二:
该方案可以根据实体类字段名称生成CSV第一行,注意一定不要加@CsvBindByName注解,具体文章可以参考opencsv 将对象数组导出为 csv 文件时、文件列按对象字段定义顺序排序的实现

@SneakyThrows
public <T> String generateCsvFile(List<? extends T> exportResults, String fileName)throws IOException, CsvDataTypeMismatchException, CsvRequiredFieldEmptyException {String finalFileName = new File(nginxDownloadPath,fileName + System.currentTimeMillis() + ".csv").getPath();Writer writer = new FileWriter(finalFileName);CSVWriter csvWriter = new CSVWriter(writer,CSVWriter.DEFAULT_SEPARATOR,CSVWriter.DEFAULT_QUOTE_CHARACTER,CSVWriter.NO_ESCAPE_CHARACTER,CSVWriter.DEFAULT_LINE_END);csvWriter.writeNext(header);if (exportResults.size() > 0) {//写内容StatefulBeanToCsv beanToCsv = new StatefulBeanToCsvBuilder<T>(writer).withMappingStrategy(new OrderColumnMappingStrategy(exportResults.get(0).getClass())).withIgnoreField(exportResults.get(0).getClass(), Arrays.stream(exportResults.get(0).getClass().getDeclaredFields()).filter(one -> {one.setAccessible(true);return one.isAnnotationPresent(CsvIgnore.class);}).findFirst().orElse(null)).build();beanToCsv.write(exportResults);}csvWriter.close();writer.close();return finalFileName;
}public class OrderColumnMappingStrategy<T> extends HeaderColumnNameMappingStrategy<T> {private Locale errorLocale = Locale.getDefault();public OrderColumnMappingStrategy(Class<? extends T> type) {super();this.setErrorLocale(errorLocale);this.setType(type);}@Overridepublic String[] generateHeader(T bean) throws CsvRequiredFieldEmptyException {if (type == null) {throw new IllegalStateException(ResourceBundle.getBundle(ICSVParser.DEFAULT_BUNDLE_NAME, errorLocale).getString("type.before.header"));}if (headerIndex.isEmpty()) {List<String> realHeaderList = new ArrayList<>();/**getFieldNameForCsvHeader()方法是通过反射获取对象的字段, 字段是按照定义顺序返回的. 这里就不贴出代码了*/getFieldNameForCsvHeader(type).forEach(one -> {realHeaderList.add(one.toUpperCase());});String[] header = realHeaderList.toArray(new String[0]);headerIndex.initializeHeaderIndex(header);return header;}return headerIndex.getHeaderIndex();}
}
http://www.yayakq.cn/news/299179/

相关文章:

  • 怎么提高网站的流量最新国际新闻10条简短
  • 如何做新网站保留域名外贸推广排行榜
  • 2345官方网站wordpress文章上下一篇 图片
  • 网站策划论坛wordpress 域名更改 页面链接
  • dedecms制作网站地图怎么制作网站链接手机
  • 360网站建设专门型网站
  • 如何申请网站空间如何做产品网站网页
  • php网站开发范例网站运营建设的培训班
  • 网站建设经验材料dewplayer wordpress
  • 嘉兴有哪些做网站的公司哪个行业必须做网站
  • 个人在湖北建设厅网站申请强制注销便宜网站设计
  • 过年做那个网站致富有没有做php项目实战的网站
  • 响应式网站咨询怎么查询网站有没备案
  • 个人网站收款问题宜昌建设银行网站
  • 免费模板样机素材网站网站营销公司哪家好
  • 网站设计方案及报价单网络游戏软件开发app
  • 谷歌提交网站入口太原企业建站系统
  • 网站建设 sam大叔排名三天上首页自己做投票的网站
  • 上海网站建设招聘上传宝贝网站建设属于什么类目
  • 北京住房城乡建设厅网站首页宁波免费自助建站模板
  • 做dj网站中国供求网
  • 宝山做网站价格新手怎么学代码编程
  • 山西网站建设价格wordpress 主题更新
  • 济宁北湖建设局网站宁波网站建设rswl
  • 长沙口碑好的做网站公司哪家好婚纱网站开发的必要性
  • 建设网站实训报告湟源县网站建设
  • 徐州制作公司网站舆情分析师
  • 外包公司做网站的流程中英文的网站怎么建设
  • 用dw做的网站怎么发布全国知名网站建设
  • 学做衣服网站知乎服装定制怎么找厂家