jjzjj

FileLock

全部标签

java - xml文件的同步方法

我正在寻找一种同步方法来确保我的后端数据(xml文件)在多个客户端访问期间保持完整。我正在使用jaxb来读写文件。我想确保当客户端读取或写入信息到xml文件时,没有其他客户端同时访问它。我读过有关ReadWriteLock的文章,想知道这是否是最佳解决方案?显然,客户端应该运行某种查询以查看当前是否正在向文件写入任何内容,如果没有,则继续读/写?我是java的新手,请原谅我的无知!谢谢 最佳答案 您的问题涉及不同的“客户端”——大概是在不同的JVM中运行的应用程序。如果是这种情况,ReadWriteLock类将无济于事。该类用于在单

Windows(可选 Cygwin): Removing file which is locked by another process, 来自命令行

我想从命令行(Windows7)删除​​一个被另一个进程锁定的文件。请注意,我知道这可能会造成各种破坏,包括丢失我的所有数据并让AlanTuring在他的坟墓中旋转。在我的特殊情况下,我知道自己在做什么,或者至少我愿意承担责任。因为我已经安装了Cygwin,所以我尝试使用rm-rf,但是如果文件被锁定,这仍然不起作用(权限被拒绝)。我用谷歌搜索了这个问题并找到了免费软件工具(handler.exe和LockHunter)的建议,我愿意尝试一下。我只是想知道是否有更好的方法来做到这一点,特别是Cygwin或Windows本身中的某些工具是否允许我这样做。有什么建议吗?

windows - 当您卸载程序时,Windows 如何在下次重新启动时删除锁定的文件?

当您卸载程序时,Windows如何在下次重新启动时删除锁定的文件?也许有某种预定流程? 最佳答案 卸载过程使用MoveFileEx设置了MOVEFILE_DELAY_UNTIL_REBOOT标志,这表明该操作在重新启动之前不应发生。将lpNewFileName参数保留为NULL表示应删除该文件:IfdwFlagsspecifiesMOVEFILE_DELAY_UNTIL_REBOOTandlpNewFileNameisNULL,MoveFileExregistersthelpExistingFileNamefiletobedelet

c++ - 检查文件是否被进程文件句柄锁定

鉴于我有所有进程的所有文件句柄的列表,我如何找出这些句柄中的哪些实际上锁定了文件?据我所知,我可以简单地尝试打开文件并尝试获取所有权限,如果出现问题,我会知道它已被锁定。但这听起来效率极低。我的意思是我已经有了句柄没有办法检查句柄有哪些权限吗?我希望看到一个适用于WindowsXP及更高版本的解决方案。我已经搜索过GetFileInformationByHandleEx功能,但我找不到任何关于访问权限的信息。:/编辑:我不需要关于文件锁的实时信息。我计划处理的文件要么被锁定,直到某些应用程序关闭,要么根本不被锁定。 最佳答案 此问题

c# - 带有锁定文件的 FileStream

我想知道是否有可能将只读FileStream获取到锁定文件?现在,当我尝试读取锁定的文件时出现异常。using(FileStreamstream=newFileStream("path",FileMode.Open))谢谢! 最佳答案 您应该尝试另一个构造函数。它们记录在MSDN中。这个看起来像一个赌注:FileStreamConstructor(String,FileMode,FileAccess,FileShare)MSDNLink文件访问Aconstantthatdetermineshowthefilecanbeaccesse

java - Java 中的 FileLock 在同一进程内或不同进程之间或两者之间跨多个线程是否安全?

Java中的FileLock在同一进程内或不同进程之间或两者之间的多个线程之间是否安全?javadoc说:FilelocksareheldonbehalfoftheentireJavavirtualmachine.Theyarenotsuitableforcontrollingaccesstoafilebymultiplethreadswithinthesamevirtualmachine.File-lockobjectsaresafeforusebymultipleconcurrentthreads.我不太明白:这是否意味着FileLock在同一个进程内的多个线程、多个不同进程之间或

java - 随机访问文件 FileLock : java. io 与 java.nio

我注意到java.io和java.nio随机访问文件的实现在FileLocks方面略有不同。得到处理。似乎(在Windows上)java.io为您提供强制文件锁定,而java.nio分别在请求时为您提供建议文件锁定。强制文件锁意味着锁适用于所有进程,建议适用于遵循相同锁定协议(protocol)的行为良好的进程。如果我运行以下示例,我可以手动删除*.nio文件,而*.io文件拒绝删除。importjava.io.*;importjava.lang.management.ManagementFactory;importjava.nio.*;importjava.nio.channels.

Java FileLock 无异常阻塞;等待锁

我发现Java文件锁定机制是一个真正的错误,因为它不能执行锁定的第一条规则-阻塞对锁定的调用!除非我错了-如果应用程序已经保持对文件的锁定,则调用lock()将抛出异常,我知道我的应用程序就是这种情况。我在这里查看了一些答案,不幸的是我没有使用Java7。有没有人建议我如何处理排他文件锁的等待,而不是让自己陷入while(true)循环:)在Aubin的回答后进行编辑(从评论中复制):我想做的是在将一个大文件复制到一个目录后访问它,然后对其进行处理。我的代码很简单...publicbooleanifFileReady(Filefile){booleanready=false;FileL

Java:在不锁定文件的情况下打开和读取文件

我需要能够用Java模拟“tail-f”。我正在尝试读取一个日志文件,因为它正在被另一个进程写入,但是当我打开文件读取它时,它锁定了文件并且另一个进程无法再写入它。任何帮助将不胜感激!这是我目前使用的代码:publicvoidread(){Scannerfp=null;try{fp=newScanner(newFileReader(this.filename));fp.useDelimiter("\n");}catch(java.io.FileNotFoundExceptione){System.out.println("java.io.FileNotFoundExceptione")

java - 如何在安卓上使用文件锁?

我认为我们能够锁定文件以进行独占访问,因为我看到了这个链接:http://developer.android.com/reference/java/nio/channels/FileLock.html我想在后台进程(服务)和真正的前台应用程序中创建一个保存/加载文件。他们可能会同时尝试访问此文件,在这种情况下应该等待。我无法在Android上找到FileLock的真实示例,我只是阅读了很多线程,这在Android上是不可能的。但如果是这样,为什么文档中有一个“FileLock”部分? 最佳答案 这适用于普通的Java应用程序:Fil
12