discord-jadx/app/src/main/java/c/f/m/g.java

40 lines
1.0 KiB
Java

package c.f.m;
import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileLock;
/* compiled from: FileLocker */
public final class g implements Closeable {
public final FileOutputStream i;
public final FileLock j;
public g(File file) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream(file);
this.i = fileOutputStream;
try {
FileLock lock = fileOutputStream.getChannel().lock();
if (lock == null) {
fileOutputStream.close();
}
this.j = lock;
} catch (Throwable th) {
this.i.close();
throw th;
}
}
@Override // java.io.Closeable, java.lang.AutoCloseable
public void close() throws IOException {
try {
FileLock fileLock = this.j;
if (fileLock != null) {
fileLock.release();
}
} finally {
this.i.close();
}
}
}