用于基于文件的进程通信的Java文件锁定机制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了用于基于文件的进程通信的Java文件锁定机制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含953字,纯文字阅读大概需要2分钟。
内容图文
![用于基于文件的进程通信的Java文件锁定机制](/upload/InfoBanner/zyjiaocheng/950/c85f08eb184341679ab95210778c8b40.jpg)
我有两个Java进程(JAR),一个是每1分钟写入一个文本文件,另一个是读取该文件并调用Web服务以将数据存储在数据库中.
在写入模式下,有什么方法可以锁定文件?我观察到,当wvdial拨打调制解调器时,我想在/var/lock/ttyUSB0..LOCK中创建一个锁定文件.如果文件处于写入模式,则我需要这样一种过程,另一个进程可能要等到写入完成.写入过程后即可读取文件内容.
请指导我解决我的问题.
谢谢
解决方法:
也许这堂课可以帮助你http://docs.oracle.com/javase/7/docs/api/java/nio/channels/FileLock.html
编辑:这篇文章可能已经涵盖了主题How can I lock a file using java (if possible)
例:
FileInputStream in = new FileInputStream(file);
try
{
java.nio.channels.FileLock lock = in.getChannel().lock();
try
{
//write
}
finally
{
lock.release();
}
}
finally
{
in.close();
}
现在正在阅读过程中:
FileInputStream in = new FileInputStream(file);
try
{
FileLock lock = in.getChannel().tryLock();
if (lock == null)
{
//file is locked, wait or do something else
}
else
{
try
{
//read
}
finally
{
lock.release();
}
}
}
finally
{
in.close();
}
内容总结
以上是互联网集市为您收集整理的用于基于文件的进程通信的Java文件锁定机制全部内容,希望文章能够帮你解决用于基于文件的进程通信的Java文件锁定机制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。