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

📄 slog_inputstream.java

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 JAVA
字号:
import java.io.*;public class SLOG_InputStream implements Serializable{    private transient RandomAccessFile  file_stm;    private transient SLOG_Buffer       buffer;    private           int               frame_bsize;    private           String            filename;    private           SLOG_Header       header;    private           SLOG_Statistics   statistics;    private           SLOG_Preview      preview;    private           SLOG_Profile      profile;    private           SLOG_ThreadInfos  threadinfos;    private           SLOG_RecDefs      recdefs;    //  For now there is only 1 directory.  Eventually there will be collection    //  of directories, like "Vector of SLOG_Dir", i.e. dirs    private           SLOG_Dir          dir;    public SLOG_InputStream( String file_name )    throws IOException    {        filename    = new String( file_name );        file_stm    = new RandomAccessFile( filename, "r" );        header      = new SLOG_Header( file_stm );        statistics  = new SLOG_Statistics( file_stm,                                           header.GetFptrToStatistics() );        preview     = new SLOG_Preview( file_stm, header.GetFptrToPreview() );        profile     = new SLOG_Profile( file_stm, header.GetFptrToProfile() );        threadinfos = new SLOG_ThreadInfos( file_stm,                                            header.GetFptrToThreadTable() );        recdefs     = new SLOG_RecDefs( file_stm, header.GetFptrToRecDefs() );        file_stm.seek( header.GetFptrToFrameData() );        dir         = new SLOG_Dir( file_stm );        frame_bsize = header.GetFrameByteSize();        buffer      = new SLOG_Buffer( file_stm, frame_bsize );    }    public SLOG_Frame GetFrame()    throws IOException, IllegalArgumentException    {        SLOG_Frame frame = new SLOG_Frame();        buffer.ReadFrame();        frame.Init();        frame.ReadFromDataStream( buffer.GetDataInputStream(), recdefs );        return( frame );    }    public SLOG_Frame GetFrame( long file_ptr )    throws IOException, IllegalArgumentException    {        SLOG_Frame frame = new SLOG_Frame();        buffer.ReadFrame( file_ptr );        frame.Init();        frame.ReadFromDataStream( buffer.GetDataInputStream(), recdefs );        return( frame );    }    public SLOG_Header GetHeader()    {        return header;    }    public SLOG_Statistics GetStatistics()    {        return statistics;    }    public SLOG_Preview GetPreview()    {        return preview;    }    public SLOG_Profile GetProfile()    {        return profile;    }    public SLOG_ThreadInfos GetThreadInfos()    {        return threadinfos;    }    public SLOG_RecDefs GetRecDefs()    {        return recdefs;    }    public SLOG_Dir GetDir()    {        return dir;    }    public void Close()    throws IOException    {        if ( file_stm != null )            file_stm.close();        if ( buffer != null )            buffer.Close();    }    public String toString()    {        StringBuffer rep = new StringBuffer();        rep.append( "\t" + header + "\n" );        rep.append( "\t" + statistics + "\n" );        rep.append( "\t" + preview + "\n");        rep.append( "\t" + profile + "\n" );        rep.append( "\t" + threadinfos + "\n" );        rep.append( "\t" + recdefs + "\n" );        rep.append( "\t" + dir + "\n" );        return( rep.toString() );    }}

⌨️ 快捷键说明

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