java 文件锁的简单实现
更新时间:2017年07月12日 16:58:28 作者:aotian16
这篇文章主要介绍了java 文件锁的简单实现的相关资料,需要的朋友可以参考下
java 文件锁的简单实现
java文件锁的功能,隐私文件及安全性的提升,实现起来不难,这里贴下实现代码:
实例代码:
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
public class FileLocker {
public static void main(String[] args) throws IOException {
File f = new File("aaa.txt");
System.out.println(getFileContent(f) + 1);// no lock
FileLock lock = getFileLock(f);// lock
System.out.println(getFileContent(f) + 2);
lock.release();// lock release
System.out.println(getFileContent(f) + 3);// no lock
}
/**
* get file content.
*
* @param file
* @return
*/
public static String getFileContent(File file) {
String line = "";
String content = "";
try {
BufferedReader bf = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
while ((line = bf.readLine()) != null) {
content += line;
}
} catch (FileNotFoundException e) {
content = "ERROR ";
} catch (IOException e) {
content = "ERROR ";
}
return content;
}
/**
* get lock.
*
* @param file
* @return
* @throws IOException
*/
public static FileLock getFileLock(File file) throws IOException {
RandomAccessFile fi = new RandomAccessFile(file, "rw");
FileChannel fc = fi.getChannel();
return fc.tryLock();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
idea 在springboot中使用lombok插件的方法
这篇文章主要介绍了idea 在springboot中使用lombok的相关资料,通过代码给大家介绍在pom.xml中引入依赖的方法,本文给大家介绍的非常详细,需要的朋友可以参考下2021-08-08
举例讲解Java设计模式编程中Decorator装饰者模式的运用
这篇文章主要介绍了Java设计模式编程中Decorator装饰者模式的运用,装饰者模式就是给一个对象动态的添加新的功能,装饰者和被装饰者实现同一个接口,装饰者持有被装饰者的实例,需要的朋友可以参考下2016-05-05


最新评论