示例#1
0
        private FtpItemInfo GetWindowsItemInfoByDetail(string detail)
        {
            List <string> detailInfo = detail.Substring(0, 39).SplitStringWithMultiSameChar(' ');

            detailInfo.Add(detail.Substring(39).Trim());

            if (detailInfo.Count != 4)
            {
                return(null);
            }

            FtpItemInfo ftpileInfo = new FtpItemInfo();

            ftpileInfo.Name = detailInfo[3];

            if (detailInfo[2] == "<DIR>")
            {
                ftpileInfo.Type = FtpItemTypes.Directory;
            }
            else
            {
                long size = 0;
                ftpileInfo.Type = FtpItemTypes.File;

                if (long.TryParse(detailInfo[2], out size))
                {
                    ftpileInfo.Size = size;
                }
            }

            return(ftpileInfo);
        }
示例#2
0
        private FtpItemInfo GetUnixItemInfoByDetail(string detail)
        {
            List <string> detailInfo = detail.Substring(0, 56).SplitStringWithMultiSameChar(' ');

            detailInfo.Add(detail.Substring(56).Trim());

            if (detailInfo.Count != 9)
            {
                return(null);
            }

            FtpItemInfo ftpileInfo = new FtpItemInfo();

            ftpileInfo.UnixAuthority = detailInfo[0];
            ftpileInfo.Type          = FtpItemTypesHelper.GetUnixItemType(detailInfo[0].Substring(0, 1));
            ftpileInfo.Size          = long.Parse(detailInfo[4]);
            ftpileInfo.Name          = detailInfo[8];
            return(ftpileInfo);
        }