java 常量字符串过长

上周在公司搞一个批量修改数据的问题,业务方给我发了一份Excel数据,共1000条,每行需要我转成参数调用一个接口

第一反应是使用hutool解析Excel,然后处理数据,生成参数调用接口。然而解析Excel比较麻烦,这种临时任务这么做显然不方便。

直接把数据复制成文本显然更好。

我看数据不多,就直接复制出来数据到java的一个字符串常量上,然后进行字符串分割调用接口。

字符串如下:

但是在执行中遇到个问题,提示 java 字符串常量过长

网上查了下,说了几种方案,比如说把一个字符串改成多个字符串相加的形式,本来想改,后来发现复制到idea的时候,idea已经帮我做好这一步了,但是还有这个问题

又说可以使用 StringBuilder,我就把replace后修改了一下,

然后执行报错

直接堆栈溢出了。。。

后来我采用读文件的方式解决了,但是在java里读文件毕竟也比较麻烦,今天正好没事,看看有没有啥更好的办法。

public class ResourcesController {
    @Autowired
    private ResourceLoader resourceLoader;

    @GetMapping("readFileFromJarWithResourceLoader")
    public void readFileFromJarWithResourceLoader() {
        try {
            Resource resource = resourceLoader.getResource("classpath:data.txt");
            try (BufferedReader reader = new BufferedReader(new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    System.out.println(line);
                }
            }
        } catch (IOException e) {
            System.err.println("Error reading file from jar: " + e.getMessage());
        }
    }
}

经过一番摸索,还真有个办法可以,那就是转成数组

首先把数据复制到sublime中。ctrl+A全选,ctrl+shift+L 使用列编辑器,按双引号首尾添加双引号,然后按end再按逗号,在末尾加上逗号。

之后写一小部分代码,String[] arr = {}

把文本复制到大括号里即可。

至此一切正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值