zoukankan      html  css  js  c++  java
  • 报错:常量字符串过长

    原因分析:常量字符串的长度不能长于65535 - 1字节;

    由于图片通过接口传递,图片转为base64编码后,字符串很大,故yreport的值很大,有360800个字符。

    原代码:

    public class DataEncrypt2Test {
        public static void main(String[] args) throws Exception {
            String pubKey = "省略不写";
            // 生产批次    
            String requestData = "{\n" +
                    "\t\"ycocode\": \"09876543211234567890\",\n" +
                    "\t\"yconame\": \"华润制药\",\n" +
                    "\t\"medicode\": \"B1243253\",\n" +
                    "\t\"mediname\": \"当归\",\n" +
                    "\t\"allowname\": \"张山\",\n" +
                    "\t\"locality\": \"深圳\",\n" +
                    "\t\"batchno\": \"B345353\",\n" +
                    "\t\"batchciid\": \"3452352\",\n" +
                    "\t\"prodate\": \"2021-10-10\",\n" +
                    "\t\"checkdate\": \"2021-11-11\",\n" +
                    "\t\"packgg\": \"10/箱\",\n" +
                    "\t\"checkname\": \"王五\",\n" +
                    "\t\"norm\": \"国标\",\n" +
                    "\t\"arts\": \"工艺01\",\n" +
                    "\t\"yreport\": \"此处为超长字符串,省略不写\",\n" +
                    "\t\"updatetime\": \"2021-12-12\",\n" +
                    "\t\"ybatchid\": \"1232141\",\n" +
                    "\t\"quantity\": \"100\",\n" +
                    "\t\"unit\": \"kg\",\n" +
                    "\t\"billtype\": \"销售出库\"\n" +
                    "}";
            String encrypt = RSAUtils.encryptByPublicKey(requestData, pubKey);
            System.out.println("requestData===> ");
            System.out.println(encrypt);
        }
    }

    解决办法:使用StringBuilder,将字符串分成多段进行拼接

    public class DataEncrypt2Test {
        public static void main(String[] args) throws Exception {
            String pubKey = "省略不写";// 生产批次
            StringBuilder sb = new StringBuilder();
            sb.append("很长字符串1,省略不写,下同");
            sb.append("很长字符穿2");
            sb.append("很长字符串3");
            sb.append("很长字符串4");
            sb.append("很长字符串5");
            sb.append("很长字符串6");
            sb.append("很长字符串7" );
            sb.append("很长字符串8");
            sb.append("很长字符串9");
            sb.append("很长字符串10");
            sb.append("很长字符串11");
            String str = sb.toString();
    
            String requestData = "{\n" +
                    "\t\"ycocode\": \"09876543211234567890\",\n" +
                    "\t\"yconame\": \"众益制药\",\n" +
                    "\t\"medicode\": \"B1243253\",\n" +
                    "\t\"mediname\": \"当归\",\n" +
                    "\t\"allowname\": \"张山\",\n" +
                    "\t\"locality\": \"深圳\",\n" +
                    "\t\"batchno\": \"B345353\",\n" +
                    "\t\"batchciid\": \"3452352\",\n" +
                    "\t\"prodate\": \"2021-10-10\",\n" +
                    "\t\"checkdate\": \"2021-11-11\",\n" +
                    "\t\"packgg\": \"10/箱\",\n" +
                    "\t\"checkname\": \"王五\",\n" +
                    "\t\"norm\": \"国标\",\n" +
                    "\t\"arts\": \"工艺01\",\n" +
                    "\t\"yreport\": \""+ str +"\",\n" +
                    "\t\"updatetime\": \"2021-12-12\",\n" +
                    "\t\"ybatchid\": \"1232141\",\n" +
                    "\t\"quantity\": \"100\",\n" +
                    "\t\"unit\": \"kg\",\n" +
                    "\t\"checkname\": \"王五\",\n" +
                    "\t\"billtype\": \"销售出库\"\n" +
                    "}";
            
            String encrypt = RSAUtils.encryptByPublicKey(requestData, pubKey);
            System.out.println("requestData===> ");
            System.out.println(encrypt);
        }
    }
  • 相关阅读:
    html5 新增的页面 元素
    【BZOJ1500】[NOI2005]维修数列 Splay
    【BZOJ1720】[Usaco2006 Jan]Corral the Cows 奶牛围栏 双指针法
    【BZOJ3437】小P的牧场 斜率优化
    【BZOJ1096】[ZJOI2007]仓库建设 斜率优化
    【BZOJ3156】防御准备 斜率优化
    【BZOJ4101】[Usaco2015 Open]Trapped in the Haybales Silver 二分
    【BZOJ4099】Trapped in the Haybales Gold STL
    【BZOJ3387】[Usaco2004 Dec]Fence Obstacle Course栅栏行动 线段树
    【BZOJ3939】[Usaco2015 Feb]Cow Hopscotch 动态规划+线段树
  • 原文地址:https://www.cnblogs.com/zwh0910/p/15703535.html
Copyright © 2011-2022 走看看