文件锁

作者: 张轻舟 | 来源:发表于2019-06-13 13:43 被阅读0次
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class WindowFileLock extends JFrame implements ActionListener{
    JTextArea text;
    JButton button;
    File file;
    RandomAccessFile input;
    FileChannel channel;
    FileLock lock;
    WindowFileLock(File f){
        file=f;
        try{
            input=new RandomAccessFile(file,"rw");
            channel=input.getChannel();
            lock=channel.tryLock();
        }
        catch(Exception exp){}
        text=new JTextArea();
        button=new JButton("读取一行");
        button.addActionListener(this);
        add(new JScrollPane(text),BorderLayout.CENTER);
        add(button,BorderLayout.SOUTH);
        setSize(300,400);
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public void actionPerformed(ActionEvent e){
        try{
            lock.release();
            String lineString=input.readLine();
            text.append("\n"+lineString);
            lock=channel.tryLock();
            if(lineString==null)
                input.close();
            
            
            
        }
        catch(Exception ee){}
    }

}
import java.io.*;
public class Example_19 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        File file=new File("Example10_19.java");
        WindowFileLock win =new WindowFileLock(file);
        win.setTitle("使用文件锁");
        // TODO Auto-generated method stub

    }

}

相关文章

  • 10.文件锁

    pa文件,对文件加读锁 pb文件,对文件加写锁 pc文件

  • 文件锁

  • Linux系统编程7:读写锁

    1. 接口 1.1 锁操作 参数 锁信息 返回值 给指定文件添加读锁 查看当前锁的状态 给指定文件添加写锁 给指定...

  • JAVA NIO 文件锁FileLock

    文件锁可以是shared(共享锁)或者exclusive(排他锁)。不是所有的平台都以同一种方式实现文件锁,不同的...

  • C++锁

    锁的种类 互斥锁、条件锁、自旋锁、读写锁、递归锁。 互斥锁 头文件: 类型:pthread_mutex_t, 函数...

  • Linux 文件锁

    系统调用fcntl 参数:fd:文件描述符cmd:F_GETLK, F_SETLK or F_SETLKWlock...

  • PHP文件锁

    有时候需要避免代码并发执行. 缓存击穿问题. 比如一件商品编号1001.在缓存中它的key为goods:1001,...

  • 读写锁

    头文件:#include 读写锁分为读锁和写锁,规则如下: 1,如果某线程申请了读锁,其它线程可以再申请读锁,但不...

  • PHP 文件锁与进程锁

    鉴于前面介绍了swoole,就借用swoole的服务器/客户端与多进程机制对锁进行说明.这里只针对PHP的锁机制进...

  • 2019-07-23工作总结

    疑问1: MDL写锁, MDL读锁, 和S锁, X锁有啥区别? 疑问2: flush文件有啥作用? 答: fl...

网友评论

      本文标题:文件锁

      本文链接:https://www.haomeiwen.com/subject/aktsfctx.html