Java 多线程写文件
发布时间:2020-12-15 03:17:24 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.File;import java.io.IOException;import java.io.RandomAccessFile;import java.nio.channels.FileChannel;import java.nio.channels
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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); } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |