Пример #1
0
        public static StartParams parse(string[] args)
        {
            StartParams res = new StartParams();
            List<String> filters = new List<string>();
            String path = "";

            const int START = 0, PATH_FLAG_S = 1, FILTER_FLAG_S = 2, PATH_READING = 3, FILTER_READING = 4;

            string currArg;
            int state = START;
            int i = 0;
            while (i != args.Length)
            {
                currArg = args[i];

                switch (state)
                {
                    case START:
                        if (currArg == PATH_FLAG)
                        {
                            state = PATH_FLAG_S;
                        }
                        break;

                    case PATH_FLAG_S:
                        if (currArg != FILTER_FLAG)
                        {
                            path += currArg + " ";
                        }
                        else
                        {
                            state = FILTER_FLAG_S;
                        }

                        break;

                    case FILTER_FLAG_S:
                        filters.Add("."+currArg);
                        break;
                }

                i++;
            }

            string[] fils = new string[filters.Count];
            i=0;
            foreach (string s in filters) {
                fils[i] = s;
                i++;
            }

            res.filters = fils;
            res.path=path;

            return res;
        }
Пример #2
0
        public static List<FileConteiner> Find(StartParams startParams)
        {
            string[] files;
            try
            {
                files = Directory.GetFiles(startParams.path, "*.*", SearchOption.AllDirectories);
            }

            catch (Exception e) {
                throw e;
                //Console.WriteLine(e.Message);
                //return null;
            }
            FileInfo fileInfo;
            List<FileConteiner> filesList = new List<FileConteiner>();
            foreach (string filePath in files) {
                fileInfo = new FileInfo(filePath);
                if (startParams.checkForAcceptedExtension(fileInfo.Extension)) {
                    filesList.Add(new FileConteiner(filePath));
                }
            }

            return filesList;
        }