Exemplo n.º 1
0
        //Если сервер работает на nix-ах
        private FileStruct ParseFileStructFromUnixStyleRecord(string record)
        {
            //Предположим. тчо запись имеет формат dr-xr-xr-x   1 owner    group    0 Nov 25  2002 bussys
            FileStruct f = new FileStruct();

            if (record[0] == '-' || record[0] == 'd')
            {// правильная запись файла
                string processstr = record.Trim();
                f.Flags       = processstr.Substring(0, 9);
                f.IsDirectory = (f.Flags[0] == 'd');
                processstr    = (processstr.Substring(11)).Trim();
                //отсекаем часть строки
                _cutSubstringFromStringWithTrim(ref processstr, ' ', 0);
                f.Owner      = _cutSubstringFromStringWithTrim(ref processstr, ' ', 0);
                f.CreateTime = getCreateTimeString(record);
                if (f.CreateTime == "")
                {
                    //string[] authorsList = record.Split(' ');
                    //if(authorsList[authorsList.Length-2])
                    //f.CreateTime = authorsList[authorsList.Length - 4] + " " + authorsList[authorsList.Length - 3] + " " + authorsList[authorsList.Length - 2];
                }
                //Индекс начала имени файла
                int fileNameIndex = record.IndexOf(f.CreateTime) + f.CreateTime.Length;
                if (fileNameIndex == 0)
                {
                    fileNameIndex = 48;
                }
                //Само имя файла
                f.Name = record.Substring(fileNameIndex).Trim();
            }
            else
            {
                f.Name = "";
            }
            return(f);
        }