Merge "close file stream" into main am: 39020e05c6 am: f409df4939

Original change: https://android-review.googlesource.com/c/platform/build/+/3199474

Change-Id: Ie128a1ba09440ea08e1031caaa625d76999f68ff
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Zhi Dou
2024-07-31 00:06:11 +00:00
committed by Automerger Merge Worker

View File

@@ -18,6 +18,7 @@ package android.aconfig.storage;
import android.compat.annotation.UnsupportedAppUsage; import android.compat.annotation.UnsupportedAppUsage;
import java.io.Closeable;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.nio.MappedByteBuffer; import java.nio.MappedByteBuffer;
import java.nio.channels.FileChannel; import java.nio.channels.FileChannel;
@@ -68,13 +69,26 @@ public class StorageInternalReader {
// Map a storage file given file path // Map a storage file given file path
private static MappedByteBuffer mapStorageFile(String file) { private static MappedByteBuffer mapStorageFile(String file) {
FileInputStream stream = null;
try { try {
FileInputStream stream = new FileInputStream(file); stream = new FileInputStream(file);
FileChannel channel = stream.getChannel(); FileChannel channel = stream.getChannel();
return channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size()); return channel.map(FileChannel.MapMode.READ_ONLY, 0, channel.size());
} catch (Exception e) { } catch (Exception e) {
throw new AconfigStorageException( throw new AconfigStorageException(
String.format("Fail to mmap storage file %s", file), e); String.format("Fail to mmap storage file %s", file), e);
} finally {
quietlyDispose(stream);
}
}
private static void quietlyDispose(Closeable closable) {
try {
if (closable != null) {
closable.close();
}
} catch (Exception e) {
// no need to care, at least as of now
} }
} }
} }