Integer.parseInt()最大数限制

本文介绍了使用Java的Integer.parseInt方法进行字符串转整数操作时遇到的问题。当输入的字符串数值超过1999999999时,该方法会抛出异常,无法完成转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天试图将一个string字符串转换为int型的时候出现了格式转换错误,后来发现Integer.parseInt是有最大数限制的,最大值是

1999999999,超过这个数值就不能再转换了。

/** * 上传视频,前端分片上传 * * @return */ @PostMapping("/upload") public R upload(ChunkInfo chunk) { final Integer MAX_SIZE = 100 * 1024 * 1024; if (Objects.isNull(chunk) || StringUtils.isBlank(chunk.getFilename()) || null == chunk.getChunkNumber() || StringUtils.isBlank(chunk.getIdentifier())) { return R.errorParam(); } Assert.isFalse(chunk.getTotalSize() >= MAX_SIZE, "文件最大不能超过100MB"); //获取clientId Long clientId = AccountUtil.getClientId(); MultipartFile file = chunk.getMultipartFile(); try { byte[] bytes = file.getBytes(); Path path = Paths.get(FileInfoUtils.generateCommonPath(uploadFolder, chunk, clientId)); //文件写入指定路径 Files.write(path, bytes); } catch (IOException e) { e.printStackTrace(); return R.failed(); } return R.ok(); } @PostMapping("/mergeFile") public R mergeFile(@RequestBody ChunkInfoVO chunkInfo) { if (Objects.isNull(chunkInfo) || StringUtils.isBlank(chunkInfo.getFilename()) || StringUtils.isBlank(chunkInfo.getIdentifier())) { return R.errorParam(); } Long clientId = AccountUtil.getClientId(); Long updateBy = AccountUtil.getAccountId(); /** * 根据文件类型 , 配置路径文件夹 */ String filename = chunkInfo.getFilename(); //取名称的前30个字 String substring = chunkInfo.getFilename().substring(0, filename.lastIndexOf(".")); if (substring.length() > 30) { filename = substring.substring(0, 30) + ".mp4"; } /** * 进行文件的合并操作 */ String file = uploadFolder + File.separator + clientId + File.separator + chunkInfo.getIdentifier() + File.separator + filename; String folder = uploadFolder + File.separator + clientId + File.separator + chunkInfo.getIdentifier(); String fileSuccess = FileInfoUtils.merge(file, folder, filename); log.info("文件名:" + filename); log.info("文件:" + file); log.info("文件夹:" + folder); log.info("合并状态:" + fileSuccess); chunkInfo.setLocation(file); if (HttpStatus.HTTP_INTERNAL_ERROR == Integer.parseInt(fileSuccess)) { return R.failed().setMsg("上传失败"); } boolean flag = HttpStatus.HTTP_OK == Integer.parseInt(fileSuccess); /** * 文件合并成功后,将文件直接上传到云点播 */ if (flag) { try { String uploadPart = tosHelperUtil.uploadPart(filename, file); return R.ok(); } catch (Exception e) { throw new RuntimeException(e); } } return R.failed(); } 请你检查这两个方法是否正确 如果不正确请你修改 并在合并方法补充 捕获视频第一帧 当作封面 public File generateVideoCover(File file) throws Exception { FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(file); grabber.start(); // 获取第一帧 Frame frame = grabber.grabImage(); Java2DFrameConverter converter = new Java2DFrameConverter(); BufferedImage image = converter.getBufferedImage(frame, 1.0); // 保存临时文件 File tempFile = File.createTempFile("cover", ".jpg"); ImageIO.write(image, "jpg", tempFile); grabber.stop(); return tempFile; }可使用此方法 但需要你补充调用地方的逻辑
最新发布
03-13
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值