欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 多线程写文件,java多线程写,import java.

来源: javaer 分享于  点击 31240 次 点评:243

Java 多线程写文件,java多线程写,import java.


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);        }    }}
相关栏目:

用户点评