java多进程写进同一个文本出现文字错乱问题

private static Lock lock = new ReentrantLock();

 

public static void writer(String fileName, String content) {

  lock.lock();

  try {
  // 打开一个随机访问文件流,按读写方式
  RandomAccessFile randomFile = new RandomAccessFile(fileName, “rw”);
  // 文件长度,字节数
  long fileLength = randomFile.length();
  //将写文件指针移到文件尾。
  randomFile.seek(fileLength);
  randomFile.writeBytes(“\r\n”);
  randomFile.writeBytes(content);
  randomFile.close();
  } catch (IOException e){
    e.printStackTrace();
  } finally{
    lock.unlock();
  }

}

写文件时,调用这个方法就可以!

点赞