//Если сервер работает на 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); }