示例#1
0
        public FsItemInfo GetItemInfo(string path)
        {
            var fi = new FileInfo(path);

            if (fi.Exists)
            {
                return(FsItemInfo.Existing(fi.Name, (ulong)fi.Length, fi.LastWriteTimeUtc));
            }
            var di = new DirectoryInfo(path);

            if (di.Exists)
            {
                return(FsItemInfo.Directory(di.Name, (di.Attributes & FileAttributes.ReparsePoint) != 0));
            }
            return(FsItemInfo.Missing());
        }
示例#2
0
        public IReadOnlyList <FsItemInfo> GetDirectoryContent(string path)
        {
            var res = new List <FsItemInfo>();
            var di  = new DirectoryInfo(path);

            if (!di.Exists)
            {
                return(res);
            }
            foreach (var fi in di.EnumerateFileSystemInfos())
            {
                if ((fi.Attributes & FileAttributes.Directory) != 0)
                {
                    res.Add(FsItemInfo.Directory(fi.Name, (fi.Attributes & FileAttributes.ReparsePoint) != 0));
                }
                else
                {
                    res.Add(FsItemInfo.Existing(fi.Name, (ulong)((FileInfo)fi).Length, ((FileInfo)fi).LastWriteTimeUtc));
                }
            }
            return(res);
        }