⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workerdb.java

📁 分布式计算平台P2HP-1的源代码;P2HP-1是基于P2P的高性能计算平台
💻 JAVA
字号:
package cn.edu.hust.cgcl.biogrid.worker;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class WorkerDB
{
    protected final static String DEF_NAME = "/workerDB.txt";

    protected String fileName;

    public WorkerDB()
        throws IOException
    {
        this(DEF_NAME);
    }

    public WorkerDB(String fn)
        throws IOException
    {
        fileName = fn;
    }

    public WorkerInfo rebuild()
        throws IOException
    {
        File f = new File(fileName);
        if (!f.exists())
        {
           return null;
        }
        BufferedReader is = new BufferedReader(new FileReader(fileName));
        String line;
        if ( (line = is.readLine()) != null)
        {
            String[] result = line.split(":");
            //WorkerInfo w = new WorkerInfo(result[0], result[1], Integer.parseInt(result[2]),
            //                              result[3], result[4], Integer.parseInt(result[5]),
             //                             result[6]);
            //return w;
        }
        return null;
    }

    protected PrintWriter pw;

    public synchronized void createDB(WorkerInfo wi)
        throws IOException
    {
        File f = new File(fileName);
        if (!f.exists())
        {
            f.createNewFile();
        }
        else
        {
            f.delete();
            f.createNewFile();
        }
        if (pw == null)
        {
            pw = new PrintWriter(new FileWriter(fileName, true));
        }
        pw.println(toDB(wi));
        pw.flush();
    }

    protected String toDB(WorkerInfo wi)
    {
        return new StringBuffer().append(wi.get_f_d_Id()).append(':').append(wi.
            get_f_d_Ip()).append(':').
            append(wi.get_f_d_port()).append(':').append(wi.get_s_d_Id()).
            append(':').append(wi.
                               get_s_d_Ip()).append(':').append(wi.get_s_d_port()).
            append(':').append(wi.getWorkerId()).append(':').
            toString();
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -