不要使用java.io包,而是使用java.nio包裹。后者有一个FileLock班级,等级。可以将锁应用于FileChannel.try {

// Get a file channel for the file

File file = new File("filename");

FileChannel channel = new RandomAccessFile(file, "rw").getChannel();

// Use the file channel to create a lock on the file.

// This method blocks until it can retrieve the lock.

FileLock lock = channel.lock();

/*

use channel.lock OR channel.tryLock();

*/

// Try acquiring the lock without blocking. This method returns

// null or throws an exception if the file is already locked.

try {

lock = channel.tryLock();

} catch (OverlappingFileLockException e) {

// File is already locked in this thread or virtual machine

}

// Release the lock - if it is not null!

if( lock != null ) {

lock.release();

}

// Close the file

channel.close();

} catch (Exception e) {

}

java文件锁定_如何使用java锁定文件(如果可能的话)相关推荐

  1. java 资源锁定_如何在Java中创建时正确锁定资源

    也许ConcurrentHashMap可以帮到你.顾名思义,它支持并发修改. 要只创建一个新元素,您可以执行以下操作: private Map map = new ConcurrentHashMap& ...

  2. java io 文件复制_实例讲述Java IO文件复制

    前言:IO流主要分为两大类,分别是字节流与字符流 注意: 1.音频文件.图片.视频(范围广),就用字节流 2.只涉及到文本的,就用字符流 使用字节流复制文本内容(其他文件也可以) 代码如下: impo ...

  3. easyloging 获取日志文件名字_愉快地学Java语言:第十五章 断言与日志

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java核心技术基础知识卷I>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇 ...

  4. java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...

    如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径 我有一个包含2个包的项目: ListStopWords.txt ListStopWords.txt 在包(2)中我有 ...

  5. java zip文件夹_如何使用java压缩文件夹成为zip包

    展开全部 在JDK中有一个zip工具类:java.util.zip    Provides classes for reading and writing the standard ZIP and G ...

  6. java pgp加密_如何解密PGP加密文件(由两个PGP密钥加密.Key1具有公钥,私钥.Key2只有公钥)通过JAVA API...

    我在PGP桌面有两个PGP密钥. Key1 - 在我的PGP桌面中创建.其中包含公钥和私钥 Key2 - 由我的客户创建并与我们共享公钥.我只在我的PGP桌面中添加了key2公钥. 现在我使用上面的两 ...

  7. java代码审计文件包含_代码审计--一道简单的文件包含题目的多种利用方式

    不知出自哪次CTF 前言: 本萌新最近在学习代码审计, 有一天在水群聊到代码审计如何学习, 然后某dalao丢给我一道题,说你对这题有什么看法, 本萌新一看,这不是很简单吗,想也没多想就直接上去?fi ...

  8. java 线程由浅入深_由浅入深,Java 并发编程中的 Synchronized(一)

    synchronized 作用 synchronized 关键字是 Java 并发编程中线程同步的常用手段之一. 1.1 作用: 确保线程互斥的访问同步代,锁自动释放,多个线程操作同个代码块或函数必须 ...

  9. java 字符串乱码_这份Java面试题含答案解析竟然真的让你不用在面试上“如履薄冰”...

    面试题集共分为以下十部分: 一.Core Java: 1 - 95 题1 - 24 页 基础及语法: 1 - 61 题1 - 13 页 异常: 62 - 69 题13 - 15 页 集合: 70 - ...

  10. java for循环_愉快地学Java语言:第五章 循环

    导读 本文适合Java入门,不太适合Java中高级软件工程师.本文以<Java程序设计基础篇>第10版为蓝本,采用不断提出问题,然后解答问题的方式来讲述.本篇文章只是这个系列中的一篇,如果 ...

最新文章

  1. 模型在gpu上反而速度变慢了_Tensorflow1.13.1+CUDA10.0+CuDNN7.4在GPU上训练模型
  2. 经验传承:谈色彩设计方法
  3. Spring-使用外部属性文件01
  4. IPSec的NAT穿越
  5. Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
  6. java 多态向子类,在Java多态中调用子类
  7. (转)离散化:两种离散化方式详解
  8. cmd使用另一个Oracle的sid,(转发备用)Oracle SID在本机上已经存在,请指定一个不同的SID”的解决办法...
  9. 【软件开发底层知识修炼】十 链接器-main函数不是第一个被执行的函数
  10. 阿里云推出业内首个云原生企业级数据湖解决方案:将在今年双11大规模应用
  11. 字体图标使用教程 阿里字体图标iconfont 鲸鱼编程
  12. 开发好能重构的代码,都是这么干的
  13. 『重构--改善既有代码的设计』读书笔记----Replace Temp with Query
  14. 牛逼!IDEA不愧为神器,结合Groovy脚本,简直天下无敌!
  15. 对‘cv::imread(cv::String const, int)’未定义的引用
  16. matlab破解方法
  17. laravel身份证号码验证
  18. 10分钟看明白大M法和两阶段法
  19. ECCI 电子通道衬度成像 简介
  20. 提高测试工作效率的硬技能和软技能

热门文章

  1. tensorflow学习笔记(二十五):ConfigProtoGPU
  2. 中继TensorRT集成
  3. 在Lumen中引入钉钉SDK
  4. Android 通过创建一个类来传递对象
  5. android Service 的使用
  6. android studio 常量表达式错误
  7. 小乐乐打游戏(BFS+曼哈顿距离)
  8. Confluence 6 MySQL 输入你的数据库细节
  9. 2022-2028年中国医疗+养老产业深度调研及投资前景预测报告
  10. oracle10g索引不生效,oracle 10g分区表索引失效测试