FileScanner.FileParsing.FileParserFactory.Create C# (CSharp) Method

Create() public method

public Create ( ) : IFileParser
return IFileParser
        public IFileParser Create()
        {
            if (!File.Exists(FilePath))
                throw new FileNotFoundException("The specified file was not found.", FilePath);
            if(Encoding == null)
                Encoding = System.Text.Encoding.Default;
            if(ParseStrategy == null)
                ParseStrategy = FileParsing.ParseStrategy.LeaveUnchanged();

            string extension = Path.GetExtension(FilePath);

            if (extension == ".html" || extension == ".htm")
                return new HtmlFileParser(FilePath, Encoding, ParseStrategy);

            return new BaseFileParser(FilePath, Encoding, ParseStrategy);
        }

Usage Example

コード例 #1
0
ファイル: FileParserTests.cs プロジェクト: kzemek/FileScanner
        public void ParseFile_GivenFilePath_UTF8Encoding_AndReplaceCapitalParseMode()
        {
            string filePath = "test.txt";
            StreamWriter sw = new StreamWriter(File.Create(filePath));
            foreach (string s in testStrings)
                sw.WriteLine(s);
            sw.Close();

            FileParserFactory fileParserBuilder = new FileParserFactory(filePath, Encoding.UTF8, ParseStrategy.ReplaceCapitalLetters());
            IFileParser fileParser = fileParserBuilder.Create();
            StreamReader sr = fileParser.ParseFile();

            int i = 0;
            while (!sr.EndOfStream)
            {
                Assert.IsTrue(sr.ReadLine() == lowercaseResultStrings[i]);
                i++;
            }

            sr.Close();
        }
All Usage Examples Of FileScanner.FileParsing.FileParserFactory::Create