JAVA File Lock
来源:互联网 发布:软件测试需要linux 编辑:程序博客网 时间:2024/04/27 07:02
package fileLock;import java.io.File;import java.io.RandomAccessFile;import java.util.Collection;import java.util.Iterator;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import org.apache.commons.io.FileUtils;import org.apache.commons.io.IOUtils;/** * @ClassName: FileLock * @Description: TODO * @author Zhou Shengshuai * @date 2014年9月22日 下午2:03:04 * */public class FileLock {private ExecutorService threadPool = null;private Collection<File> files = null;public void initial() {threadPool = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors());files = FileUtils.listFiles(new File("lock"), new String[] { "lck", "LCK" }, false);}public void execute() {Iterator<File> iterator = files.iterator();while (iterator.hasNext()) {File file = iterator.next();ThreadTask threadTask = new ThreadTask(file);threadPool.submit(threadTask);}}public void destroy() {threadPool.shutdown();while (!threadPool.isTerminated());}public static void main(String[] args) {FileLock fileLock = new FileLock();fileLock.initial();fileLock.execute();fileLock.destroy();}}class ThreadTask implements Callable<File> {private File file = null;public ThreadTask(File file) {this.file = file;}@Overridepublic File call() throws Exception {if (file == null || !file.isFile()) {throw new Exception("File is null or non-file");}RandomAccessFile randomAccessFile = new RandomAccessFile(file, "rws");java.nio.channels.FileLock fileLock = null;while (true) {fileLock = randomAccessFile.getChannel().tryLock();if (fileLock != null) {break;}}randomAccessFile.writeBytes("123\n");if (fileLock != null) {fileLock.release();}IOUtils.closeQuietly(randomAccessFile);return file;}}
0 0
- JAVA File Lock
- linux file lock
- linux file lock
- jetty static file lock
- lock file,锁定文件
- perl file lock
- Java学习Lock.lock()
- Java Lock
- Java Lock
- java lock
- java lock
- Problems with the lock file
- 解决linux下java读取串口之权限问题 No permission to create lock file.
- Dubbo java.io.IOException: Can not lock the registry cache file
- Dubbo java.io.IOException: Can not lock the registry cache file
- Dubbo java.io.IOException: Can not lock the registry cache file
- E:Could not open lock file /var/lib/dpkg/lock
- Could not open lock file/var/lib/dpkg/lock
- ant 手动打包报错: com.sun.tools.javac.Main is not on the classpPerhaps JAVA_HOME does not point to the JDK
- Android获取屏幕状态
- 如何解决"应用程序无法启动,因为应用程序的并行配置不正确"问题
- iOS开发ASIHttpRequest创建和执行request
- matlab 中eps的用法
- JAVA File Lock
- 归并排序
- Windows操作系统产品名与内部版本号的对应
- 获取文件的绝对路径
- MyBatis使用Generator自动生成代码
- PHP中的cookie与session
- NSArray中的最大值和最小值
- 博弈总结
- sencha touch + PhoneGap(cordova) 使用 adt eclipse进行打包