博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 多线程写文件
阅读量:5886 次
发布时间:2019-06-19

本文共 1358 字,大约阅读时间需要 4 分钟。

hot3.png

不废话,上马。

import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.channels.FileChannel;import java.nio.channels.FileLock;/** * @author DBJ * */public class MyThreadInfoWritor {  private String filename;  /**   *   */  public MyThreadInfoWritor(String fileName) {    this.filename = fileName;  }  public void write(MyThreadInfo tInfo) {    RandomAccessFile out = null;    File file = new File(this.filename);    try {      if (!file.exists()) {        file.createNewFile();        out = new RandomAccessFile(file, "rw");      }      out = new RandomAccessFile(file, "rw");      FileChannel fcout = out.getChannel();      FileLock flout = null;      while (true) {        try {          flout = fcout.lock();          break;        } catch (Exception e) {          System.out.println("其他线程正在操作该文件,当前线程休眠1000毫秒");          try {            Thread.sleep(1000);          } catch (InterruptedException e1) {            e1.printStackTrace();          }        }      }      long fileLength = out.length();       out.seek(fileLength);      out.write(tInfo.toString().getBytes("utf8"));      flout.release();      fcout.close();      out.close();      out = null;    } catch (IOException e) {      file.deleteOnExit();      System.out.println("Exception encountered: " + e);    }  }}

 

转载于:https://my.oschina.net/dubenju/blog/524629

你可能感兴趣的文章
Oracle_052_lesson_p8
查看>>
基于WeiPHP的微信批量文本自定义回复的快捷实现
查看>>
ps动态文字图片
查看>>
android之自定义ViewGroup和自动换行的布局的实现
查看>>
系统化思维导论读书笔记
查看>>
storm使用问题随笔
查看>>
我的友情链接
查看>>
Office2007另存为显示“正在初始化要显示的根文件夹”解决方法
查看>>
我的友情链接
查看>>
Win8大百科06期:硬件需求/版本知多少?
查看>>
raid
查看>>
我的友情链接
查看>>
hub-spoke Dynamic site-to-site peer and ××× Cliens
查看>>
十个1分钟换来健康,搞IT必看
查看>>
学好Java的10个建议
查看>>
mysql中的数据导入导出
查看>>
Java脚本:去除字符串中空值
查看>>
Open edX课程数据的存储方式
查看>>
将bean中的数据复制到map中
查看>>
https方式使用git@osc设置密码的方式
查看>>