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(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
SpringBoot+WebSocket搭建简单的多人聊天系统
WebSocket是一种在单个TCP连接上进行全双工通信的协议。这是一种比较官方的说法,简单点来说就是,在一次TCP连接中,通信的双方可以相互通信。这篇文章主要介绍了SpringBoot+WebSocket搭建简单的多人聊天系统,需要的朋友可以参考下2019-10-10如何基于SpringWeb MultipartFile实现文件上传、下载功能
在做项目时,后端经常采用上传文件组件MultipartFile,下面这篇文章主要给大家介绍了关于如何基于SpringWeb MultipartFile实现文件上传、下载功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-07-07利用java、js或mysql计算高德地图中两坐标之间的距离
最近因为工作的需求,需要计算出高德地图中两个坐标的距离,通过查找相关资料发现了多种实现的方法,下面这篇文章主要给大家介绍了关于利用java、js或mysql计算高德地图中两坐标之间距离的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。2017-10-10
最新评论