相关疑难解决方法(0)

获取当前文件长度/ FileInfo.Length缓存和陈旧信息

我正在跟踪文件的文件夹及其文件长度,至少有一个文件仍在写入.

我必须不断更新每个文件长度的记录,我将其用于其他目的.

Update如果文件长度与上一次更新中确定的长度不同,则每15秒调用一次该方法并更新文件的属性.

update方法如下所示:

var directoryInfo = new DirectoryInfo(archiveFolder);
var archiveFiles = directoryInfo.GetFiles()
                                .OrderByDescending(f=>f.CreationTimeUtc); 
foreach (FileInfo fi in archiveFiles)
{
    //check if file existed in previous update already
    var origFileProps = cachedFiles.GetFileByName(fi.FullName);
    if (origFileProps != null && fi.Length == origFileProps.EndOffset)
    {
        //file length is unchanged
    }
    else
    {
        //Update the properties of this file
        //set EndOffset of the file to current file length
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道DirectoryInfo.GetFiles()预先填充许多FileInfo属性的事实包括Length- 只要更新之间没有缓存(缓存的信息不应超过15秒),这是可以的.

我假设每个DirectoryInfo.GetFiles()调用生成一个新 …

.net c# file-io

17
推荐指数
2
解决办法
4873
查看次数

为什么创建后文件夹不存在?

这似乎没有意义,所以我显然做错了什么:

DirectoryInfo folder = new DirectoryInfo(Environment.CurrentDirectory + @"\Test");

if (folder.Exists == false) {
    folder.Create();

    var doesItExists = folder.Exists;
}
Run Code Online (Sandbox Code Playgroud)

如果文件夹不存在,则创建该文件夹.除了doesItExists总是假的.如果我刚刚创建它,为什么会是假的呢?

c#

11
推荐指数
2
解决办法
1476
查看次数

标签 统计

c# ×2

.net ×1

file-io ×1