最近项目中有遇到并发同时访问一个文件读写的情况、但是同时读写就会出错、所以我研究了一下java文件锁这个机制下面直接贴代码
我通过的是线程来模拟多人同时读写的情况
写文件
package com.dnion.test;
import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.util.Calendar;
/**
* @author chb
*/
public class Thread_writeFile extends Thread{
public void run(){
Calendar calstart=Calendar.getInstance();
File file=new File("D:/test.txt");
try {
if(!file.exists())
file.createNewFile();
//对该文件加锁
RandomAccessFile out = new RandomAccessFile(file, "rw");
FileChannel fcout=out.getChannel();
FileLock flout=null;
while(true){
try {
flout &