39 lines
1 KiB
Java
39 lines
1 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();
|
|
}
|
|
}
|
|
}
|