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(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。