Doors DXL 中存储什么统计类型?

What Stat type store in Doors DXL?

Stat 类型的用途是什么?诸如操作状态之类的东西?我在 DXL 参考手册 9.6 中没有找到太多内容。

The functions that use the Stat data type work on the stat API provided by the operating system, which enables DXL programs to determine the status of files and directories

为了更清楚,我将 post 它的一种用法:

/************************************
    isDirectory

    Returns true if string parameter is a valid directory
************************************/
bool isDirectory(string dn)
{
    Stat s = create dn

    if (null s) return false
    if (directory s)
    {
        delete s
        return true
    }
    delete s
    return false
} 

或者像这样的代码:

/************************************
    getFileSize

    returns the size (in bytes) of a file. note that files smaller than
    the block size on the disc still take up a whole block.
************************************/
int getFileSize(string fn)
{
    int fSize = 0
    Stat s = create fn
    if (null s) return(0)

    fSize = size(s)
    if (fSize < BLOCK_SIZE) fSize = BLOCK_SIZE

    delete s
    return(fSize)
}

编辑:

或烫发如:

修改日期(统计)

布尔符号(统计)

访问日期(统计)

统计创建 (Symbolic__)

无效删除(统计)

字符串用户(统计)

整数大小(统计)

Stat是一种描述文件和类文件元素(如目录)的数据结构。您已经找到此结构的用途:确定文件和目录的状态。正如参考手册第 11 节 操作系统命令 小节所述,它只是一种使用 DXL 访问 OS stat 函数和数据类型的方法。

对于基于 *nix 的系统,结构在 http://man7.org/linux/man-pages/man2/stat.2.html. For Windows based systems, see https://msdn.microsoft.com/en-us/library/14h5k7ff.aspx 中有完整描述。你会注意到这个概念基本上是相同的。

The _stat function obtains information about the file or directory specified by path and stores it in the structure pointed to by buffer. [Windows]

These functions return information about a file. [Linux]

由于处理位掩码不太方便,通常的做法是使用一组像 bool directory (Stat) 这样的函数来以更易读的方式检查不同的标志。如果您根本对使用 stat 缓冲区不感兴趣,通常会在顶部创建一层便利函数,例如示例中的 bool isDirectory(string) ,这样您就可以检查 file/directory 是否更具可读性目录,可读等