Java开发常用

指定java进程启动日志

  • 只输出错误信息到日志文件:
nohup xxx.jar >/dev/null 2>log &
  • 不产生任何日志:
nohup xxx.jar ./program >/dev/null 2>&1 &

逗号分割的字符串转换成集合

List<String> list = Arrays.asList(str.split(","));

集合转换成逗号分割的字符串

String str = Joiner.on(",").join(list);

stream从对象集合中筛选出符合条件的

List<User> list = userList.stream().filter(u -> u.getAge() > 30).collect(Collectors.toList());

stream对象集合累加求和

BigDecimal sum = list.stream().map(Plan::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
int sum = userList.stream().mapToInt(User::getAge).sum();

stream对象根据字段分组

list.stream().collect(Collectors.groupingBy(User::getUserId));

将集合分组,每组targ个

    private static <T> List<List<T>> subsetList(int targ, List<T> mList) {
        List<List<T>> list = new ArrayList<>();
        int m = mList.size() / targ;
        for (int i = 0; i < m; i++) {
            list.add(mList.subList(i * targ, i * targ + targ));
        }
        if (mList.size() % targ != 0) {
            list.add(mList.subList(m * targ, mList.size()));
        }
        return list;
    }

读取resources下文件

String path = this.getClass().getClassLoader().getResource("img/logo.png").getPath();

java poi 导出excel 设置将整个工作表打印在一页 打印机设置

// 创建excel文件对象
HSSFWorkbook wb = new HSSFWorkbook();
// 创建sheet
Sheet sheet = wb.createSheet("sheet1");
// 将整个工作表打印在一页(缩放)
sheet.setAutobreaks(true);

Linux部署的服务在生成图片时ImageIO.write()出现“Invalid argument to native writeImage”异常,本地运行正常,推测可能是因为当前服务器系统centos7使用的是openJDK.

先将图片写入ByteArrayOutputStream,再转成Base64编码后OutputStream.write()

BufferedImage image = ImageIO.read(imageFile);
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
image = zoom(image, width, height);
ImageIO.write(image, "png", outputStream);
//将图片转成base64,再写入目标路径
String base64 = Base64.getEncoder().encodeToString(outputStream.toByteArray());
File target = new File(targetPath);
Base64.Decoder decoder = Base64.getDecoder();
byte[] b = decoder.decode(base64);
for (int i = 0; i < b.length; ++i) {
    if (b[i] < 0) {
        b[i] += 256;
    }
}
OutputStream os = new FileOutputStream(target);
os.write(b);
os.flush();
os.close();
outputStream.flush();
outputStream.close();
return targetPath;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

之一丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值