首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java :如果一个程序正在使用它,如何阻止其他程序访问文件?

Java :如果一个程序正在使用它,如何阻止其他程序访问文件?
EN

Stack Overflow用户
提问于 2016-11-24 10:16:02
回答 1查看 337关注 0票数 1

我有2-3个程序,可以修改文件,但我想阻止别人,如果一个程序正在使用它。我不能在这里使用同步。还有其他规定吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-24 10:26:29

不同应用程序上的文件锁定--它不是在Java级别处理的。您必须在操作系统级别处理它。不同的操作系统有不同的解决方案。

如果一个程序正在使用它,我想阻止其他程序。

您可能想要一个写锁,不包括所有的读者和作者。但允许你的一些程序。在windows上,可能会出现这种链接兴趣。

它非常依赖于平台,但它是一个Java代码来尝试它:

代码语言:javascript
运行
复制
FileInputStream in = new FileInputStream(file);
try {
    java.nio.channels.FileLock lock = in.getChannel().lock();
    try {
        Reader reader = new InputStreamReader(in, charset);
        ...
    } finally {
        lock.release();
    }
} finally {
    in.close();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40783630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档