Exemplo n.º 1
0
        public void Start()
        {
            string path = @"D:\Project\StreamingRoseRiver\Obama\Tree1-5000-1e-100-LastYear\";

            HashSet <int> removeIndices  = Util.GetHashSet(Util.GetIntArray(0, 70));
            HashSet <int> selectIndices  = Util.GetHashSet(Util.GetIntArray(71, 124));
            int           substractCount = removeIndices.Count;

            //foreach (var subPath in Directory.GetDirectories(path))
            {
                foreach (var fullFileName in Directory.GetFiles(path)) //Directory.GetFiles(subPath))
                {
                    var fileName   = StringOperations.GetFileName(fullFileName);
                    var fileFolder = StringOperations.GetFolder(fullFileName);

                    int index = GetIndexInFile(fileName);
                    if (index == -1 || removeIndices.Contains(index))
                    {
                        File.Delete(fullFileName);
                    }
                    else
                    {
                        File.Copy(fullFileName, StringOperations.EnsureFolderEnd(fileFolder) + ReplaceFileNameIndex(fileName, index - substractCount), true);
                        File.Delete(fullFileName);
                    }
                }
            }
        }
Exemplo n.º 2
0
        private static string[] FilterDates(IEnumerable <string> dates, string startDate, string endDate)
        {
            DateTime startDateTime = StringOperations.ParseDateTimeString(startDate, "yy-MM-dd");
            DateTime endDateTime   = StringOperations.ParseDateTimeString(endDate, "yy-MM-dd");

            List <string> selectedDates = new List <string>();
            List <string> pureDates     = new List <string>();
            Dictionary <string, string> puredateToDate = new Dictionary <string, string>();

            foreach (string date in dates)
            {
                try
                {
                    var      filename  = StringOperations.GetFileName(date);
                    string   date_pure = filename.Substring(0, 10);//date.Substring(date.Length - 10, 10);
                    DateTime dateTime  = StringOperations.ParseDateTimeString(date_pure, "yy-MM-dd");
                    if (dateTime.Ticks >= startDateTime.Ticks &&
                        dateTime.Ticks <= endDateTime.Ticks)
                    {
                        //selectedDates.Add(date);
                        if (puredateToDate.ContainsKey(date_pure))
                        {
                            throw new Exception("Duplicate Dates!");
                        }
                        puredateToDate.Add(date_pure, date);
                        pureDates.Add(date_pure);
                    }
                }
                catch
                {
                }
            }

            pureDates.Sort();
            foreach (string puredate in pureDates)
            {
                selectedDates.Add(puredateToDate[puredate]);
            }
            return(selectedDates.ToArray());
        }