小工具      在线工具  汉语词典  css  js  c++  java

EasyExcel导出到文件&文件操作

java,服务器,前端 额外说明

收录于:42天前

public static void main(String[] args) throws Exception{
    File file = new File("/Users/ww/Desktop/sww.txt");
    FileOutputStream fos = new FileOutputStream(file, true);

    String str = "swww";
    fos.write(str.getBytes());
    fos.flush();
    fos.close();

    FileInputStream finos = new FileInputStream(file);
    StringBuffer sb = new StringBuffer();
    byte[] bytes = new byte[1024];
    int len = -1;
    while ( (len = finos.read(bytes)) != -1) {
        String str1 = new String(bytes,0,len,"UTF-8");
        System.out.println(str1);
    }

    FileInputStream finos2 = new FileInputStream(file);
    InputStreamReader reader = new InputStreamReader(finos2, "UTF-8");
    BufferedReader br = new BufferedReader(reader);
    String line;
    while ((line = br.readLine()) != null) {
        System.out.println(line);
    }

    finos.close();
}

EasyExcel 导出到文件

private File getExcelFile(SelectVM vm, List<ExportCaseDTO> dataList) {
    FileOutputStream fos = null;
    try {
        String encodedFileName = URLEncoder.encode("列表.xlsx", "UTF-8");
        File file = File.createTempFile("CaseTemp_", encodedFileName);
        fos = new FileOutputStream(file);

        EasyExcel.write(fos, ExportCaseDTO.class).sheet().doWrite(dataList);
        fos.flush();

        return file;
    } catch (IOException e) {
        log.error("exportCase 失败,参数:{}", JSON.toJSONString(vm));
        throw new Exception( "导出失败");
    } finally {
        try {
            if (fos != null) {
                fos.close();
            }
        } catch (IOException e) {
            log.error("exportCase error", e);
        }
    }
}
public static void main(String[] args) {
        List<MaterialType> list = new ArrayList<>();

        MaterialType type = new MaterialType();
        type.setSequence("s");
        type.setMaterialName("测试s");
        list.add(type);

        MaterialType type1 = new MaterialType();
        type1.setSequence("b");
        type1.setMaterialName("测试b");
        list.add(type1);

        MaterialType type2 = new MaterialType();
        type2.setSequence("c");
        type2.setMaterialName("测试c");
        list.add(type2);

        MaterialType type3 = new MaterialType();
        type3.setSequence("p");
        type3.setMaterialName("测试p");
        list.add(type3);

        MaterialType type4 = new MaterialType();
        type4.setSequence("s");
        type4.setMaterialName("测试s-11");
        list.add(type4);

        Map<String, MaterialType> map = list.stream().collect(Collectors.toMap(MaterialType::getSequence, v -> v, (v1, v2) -> v1));
        log.info(JSON.toJSONString(map));

        Stream<String> stream = Stream.of("This", "is", "a", "test");
        Map<String, Integer> map1 = stream.collect(Collectors.toMap(Function.identity(), String::length));
        log.info(JSON.toJSONString(map1));
    }

下面参考:Stream流 Collectors.toMap use_stream().collect(collectors.tomap-CSDN博客 

使用toMap()函数之后,返回的就是一个Map了,自然会需要key和value。
toMap()的第一个参数就是用来生成key值的,第二个参数就是用来生成value值的。
第三个参数用在key值冲突的情况下:如果新元素产生的key在Map中已经出现过了,第三个参数就会定义解决的办法。

在 .collect(Collectors.toMap(Person::getId, v -> v, (a,b)->a)) 中:

第一个参数:Person:getId表示选择Person的getId作为map的key值;

第二个参数:v->v表示选择原始对象作为Map的值

第三个参数:(a,b)->a,如果a和b的key值相同,则选择a作为该key对应的值。

如果key冲突,不加(a,b)->a会报如下错误:
重复的key

. . .

相关推荐

额外说明

Spring源码核心类梳理(持续更新)

BeanDefinitionReader BeanDefinitionReader的作用是读取Spring配置文件中的内容,将其转换为 IoC 容器内部的数据结构:BeanDefinition。 XmlBeanDefinitionReader:读取 XM

额外说明

PostgreSQL生成所有sql修改表所有者

PostgreSQL 生成全部的sql修改表owner SELECT 'alter table ' || nsp.nspname || '.' || cls.relname || ' owner to "newowner";' || chr(13) FR

额外说明

Java 实例-打印图形

Java 实例 – 打印菱形 输出指定行数的菱形。 package com.example.yan.java打印图形; public class Main { public static void main(String[] args) {

额外说明

【Java 进阶篇】CSS语法格式详解

在前端开发中,CSS(层叠样式表)用于控制网页的样式和布局。了解CSS的语法格式是学习如何设计和美化网页的关键。本文将深入解释CSS的语法格式,包括选择器、属性和值等基本概念,同时提供示例代码以帮助初学者更好地理解。 1. CSS基本概念 在深入了解CS

额外说明

Python基础 —— 运算符

Python学习系列文章:- 目录 - 文章目录 〇、概述 一、算数运算符 1. 算数运算符 2. 示例:两数之间的算数运算操作 二、赋值运算符 1. 赋值运算符 2. 示例:计算 10 与 20 的和 三、比较运算符 1. 比较运算符 2. 示例:两数

额外说明

第二篇 AlexNet——模型精讲

文章目录 摘要 1 创新点 2 模型结构 3 模型特点 4 Pytorch官方实现 摘要 ​ AlexNet是由Alex Krizhevsky 提出的首个应用于图像分类的深层卷积神经网络,该网络在2012年ILSVRC(ImageNet Large Sc

额外说明

深入理解Istio流量管理的熔断配置

环境准备 httpbin 服务 httpbin 是一个使用 Python + Flask 编写的 HTTP 请求响应服务。 该服务主要用于测试 HTTP 库,你可以向他发送请求,然后他会按照指定的规则将你的请求返回。 部署 httpbin 服务: kub

额外说明

SQL SERVER 2005 分区表实际应用例子

SQL SERVER 2005 分区表实际应用例子     定义,原理网上讲得多了.在这就不费口舌,记录下创建过程.     一.  最基本,最重要的一步就是创建分区函数.创建分区函数首先要确定分区键--既按照哪字段来进行分区.在这个例子里,我用记录的时

额外说明

k8s集群在扩容的是某个节点出现 Error querying BIRD: unable to connect to BIRDv4 socket

k8s集群在扩容的是某个节点出现 Error querying BIRD: unable to connect to BIRDv4 socket 1、问题背景: 原因是因为新扩容的机器在扩容之前安装过docker切和当前的版本相差较大: 在k8s扩容的时

额外说明

打开软件或运行出现找不到xactengine3_4.dll问题解决

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或者损坏了,这时你只需下载这个xactengine3_4.dll文件进行安装(前提是找到适合

ads via 小工具