gpt4 book ai didi

java - 应该 FileOutputStream.close();在 IOException 的 catch block 中调用?

转载 作者:行者123 更新时间:2023-12-02 03:06:43 25 4
gpt4 key购买 nike

我只是想知道我的对象是否是FileOutputStream ; out.close();应该在 catch block 中调用吗?因为当发生某些事情时,out 对象仍然是“打开的”。

如果没有,是否应该使用 FileOutputStream 进行其他操作在 catch block 中处理对象?

  public void saveBitmap(){

final File myDir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), folderName);
myDir.mkdirs();
final File file = new File(myDir, getFileName() + getFileExtension());
FileOutputStream out = null;

try {

out = new FileOutputStream(file);
viewToBitmap().compress(Bitmap.CompressFormat.JPEG, quality, out);

}

out.flush();
out.getFD().sync();
out.close();

} catch (IOException e) {

//should I out.close(); here too?

e.printStackTrace();
onBitmapSavedListener(false, null);
}
}

最佳答案

您应该在finally block 中关闭连接。所以你可以确定它会在类(class)结束时关闭。

关于java - 应该 FileOutputStream.close();在 IOException 的 catch block 中调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41621758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com