try(FileInputStream fileInputStream = new FileInputStream(filePath))可不用finally

try catch FileInputStream
原代码:
FileInputStream 先声明,之后在try catch代码块中进行文件读取操作,finally中进行FileInputStream的close。

FileInputStream fileInputStream = null;
try{
    fileInputStream = new FileInputStream(controlFileLocalPath);
    byte[] bytes = new byte[fileInputStream.available()];
    // todo read 不用字节,其他形式。考虑文件大小,缓冲,进行读取
    fileInputStream.read(bytes);
    String controlFileResult = null;
    controlFileResult = new String(bytes, StandardCharsets.UTF_8);
    LOGGER.info("===== controlFileResult:[{}]", controlFileResult);
    return CONTROL_FILE_CONTENT.equals(controlFileResult);
    
} catch (Exception e) {
    LOGGER.error("=====read local control file error.", e);
    throw 异常;
} finally { //注意此处,下面代码可不用
    if (fileInputStream != null) {
        try {
            fileInputStream.close();
        } catch (IOException e) {
            LOGGER.error("=====close fileInputStream error.", e);
        }
    }
}

新代码:
FileInputStream声明放在try()里面,后边不用写finally进行FileInputStream的close。会自动关闭

try(FileInputStream fileInputStream = new FileInputStream(controlFileLocalPath)){
  byte[] bytes = new byte[fileInputStream.available()];
   // todo read 不用字节,其他形式。考虑文件大小,缓冲,进行读取
   fileInputStream.read(bytes);
   String controlFileResult = null;
   controlFileResult = new String(bytes, StandardCharsets.UTF_8);
   LOGGER.info("=====controlFileResult:[{}]", controlFileResult);

   return CONTROL_FILE_CONTENT.equals(controlFileResult);
} catch (Exception e) {
   LOGGER.error("=====read local control file error.", e);
   throw 异常
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值