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

EasyExcel导出到文件&文件操作

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

收录于:93天前

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

. . .

相关推荐

额外说明

JSP标准标签库

  简介 JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。 J

额外说明

Docker服务和容器重启后自动启动设置

重启服务器后,我们知道如何重启docker服务(将启动命令加入到/etc/rc.d/rc.local配置文件中),但是docker容器确没有自动启动,还需要我们手动去启动容器。如何能做到重启docker服务后,能自动重启docker容器呢。 docker

额外说明

Vue解决服务器Session不一致问题(跨域问题)

       最近在做项目时,发现vue前端的登录接口使用axios连接服务器实现登录功能时,每次请求后端服务器所保存的Session对象id都不相同,也就是说前端请求服务器所得到的Seesion对象无法保存下来。        上网查询后发现是跨域问题

额外说明

[引擎]之四:unity中查看简单mesh顶点顺序的小工具——修改

1 添加查看顶点位置和uv信息 2 兼容顶点数量和uv数量不同的情况 3 添加是否显示信息的选项 4 完整代码 5 最后 这里制作的小工具,功能有点单薄,只能查看顶点的顺序。 在写CubeMesh的时候,需要查看顶点的位置信息和uv信息。 因此,添加这两

额外说明

【Python 基础 2022 最新】第二课 变量 & 数据类型

【Python 基础 2022 最新】第二课 变量 & 数据类型 概述 变量 Python 中的变量命名规则 创建变量 背后的逻辑 常见错误 多重赋值 Python 中的动态类型 数据类型 数字型类型 非数字型 数据类型转换 浮点转整数 整数转布尔 常见

额外说明

Quickstart: MinIO for Linux

单节点部署教程 1.安装Minio服务端 //wget下载二进制文件 wget https://dl.min.io/server/minio/release/linux-amd64/minio //赋予权限 chmod +x minio //将minio

额外说明

Python学习笔记:藉由私有属性实现封装

文章目录 一、私有属性的作用 二、Java类私有属性的设置与访问 1、创建资产实体类 - Asset 2、创建测试资产类 - TestAsset 三、Python类私有属性的设置与访问 1、创建程序 - 通过私有属性实现封装.py 2、运行程序,查看结果

额外说明

全网多种方法解决在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义的错误

文章目录 1. 复现错误 2. 分析错误 3. 解决错误 4. 解决该错误的其他方法 4.1 解决该错误的方法1 4.2 解决该错误的方法2 4.3 解决该错误的方法3 5. 文末备注 1. 复现错误 今天根据需求文档,写完导入hive表的接口,如下代码

额外说明

arcgis 发布 WFS 服务必须是英文路径(踩坑自用)

我使用的是 10.7 版,中文服务名报如下错误

额外说明

如何才能CentOS终端输入中文

如何才能CentOS终端输入中文 1、打开终端界面,使用su - root切换到超级用户,然后输入yum install -y "@Chinese support",回车。 2、然后点击桌面左上角的System->Perference,在里面可以看到一个

ads via 小工具