Save() public method

public Save ( Stream stream ) : void
stream Stream
return void
示例#1
0
        public void SaveToStream()
        {
            string     filePath = "SaveToStream.ini";
            FileStream stream   = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc     = new IniDocument();
            IniSection  section = new IniSection("Pets");

            section.Set("dog", "rover");
            section.Set("cat", "muffy");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            IniDocument newDoc = new IniDocument(new FileStream(filePath,
                                                                FileMode.Open));

            section = newDoc.Sections["Pets"];
            Assert.IsNotNull(section);
            Assert.AreEqual(2, section.GetKeys().Length);
            Assert.AreEqual("rover", section.GetValue("dog"));
            Assert.AreEqual("muffy", section.GetValue("cat"));

            stream.Close();

            File.Delete(filePath);
        }
示例#2
0
        public void SaveAsMysqlStyle()
        {
            string     filePath = "Save.ini";
            FileStream stream   = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc = new IniDocument();

            doc.FileType = IniFileType.MysqlStyle;
            IniSection section = new IniSection("Pets");

            section.Set("my comment");
            section.Set("dog", "rover");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            StringWriter writer = new StringWriter();

            writer.WriteLine("[Pets]");
            writer.WriteLine("# my comment");
            writer.WriteLine("dog = rover");

            StreamReader reader = new StreamReader(filePath);

            Assert.AreEqual(writer.ToString(), reader.ReadToEnd());
            reader.Close();

            IniDocument iniDoc = new IniDocument();

            iniDoc.FileType = IniFileType.MysqlStyle;
            iniDoc.Load(filePath);

            File.Delete(filePath);
        }
示例#3
0
        public void SaveDocumentWithComments()
        {
            StringWriter writer = new StringWriter();

            writer.WriteLine("; some comment");
            writer.WriteLine(""); // empty line
            writer.WriteLine("[new section]");
            writer.WriteLine(" dog = rover");
            writer.WriteLine(""); // Empty line
            writer.WriteLine("; a comment");
            writer.WriteLine(" cat = muffy");
            IniDocument doc = new IniDocument(new StringReader(writer.ToString()));

            StringWriter newWriter = new StringWriter();

            doc.Save(newWriter);

            StringReader reader = new StringReader(newWriter.ToString());

            Assert.AreEqual("; some comment", reader.ReadLine());
            Assert.AreEqual("", reader.ReadLine());
            Assert.AreEqual("[new section]", reader.ReadLine());
            Assert.AreEqual("dog = rover", reader.ReadLine());
            Assert.AreEqual("", reader.ReadLine());
            Assert.AreEqual("; a comment", reader.ReadLine());
            Assert.AreEqual("cat = muffy", reader.ReadLine());

            writer.Close();
        }
示例#4
0
        public void SambaLoadAsStandard()
        {
            string     filePath = "Save.ini";
            FileStream stream   = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc = new IniDocument();

            doc.FileType = IniFileType.SambaStyle;
            IniSection section = new IniSection("Pets");

            section.Set("my comment");
            section.Set("dog", "rover");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            IniDocument iniDoc = new IniDocument();

            iniDoc.FileType = IniFileType.Standard;
            iniDoc.Load(filePath);

            File.Delete(filePath);
        }
示例#5
0
        public void SambaLoadAsStandard() {
            string filePath = "Save.ini";
            FileStream stream = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc = new IniDocument();
            doc.FileType = IniFileType.SambaStyle;
            IniSection section = new IniSection("Pets");
            section.Set("my comment");
            section.Set("dog", "rover");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            IniDocument iniDoc = new IniDocument();
            iniDoc.FileType = IniFileType.Standard;
            iniDoc.Load(filePath);

            File.Delete(filePath);
        }
示例#6
0
        public void SaveAsMysqlStyle() {
            string filePath = "Save.ini";
            FileStream stream = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc = new IniDocument();
            doc.FileType = IniFileType.MysqlStyle;
            IniSection section = new IniSection("Pets");
            section.Set("my comment");
            section.Set("dog", "rover");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            StringWriter writer = new StringWriter();
            writer.WriteLine("[Pets]");
            writer.WriteLine("# my comment");
            writer.WriteLine("dog = rover");

            StreamReader reader = new StreamReader(filePath);
            Assert.AreEqual(writer.ToString(), reader.ReadToEnd());
            reader.Close();

            IniDocument iniDoc = new IniDocument();
            iniDoc.FileType = IniFileType.MysqlStyle;
            iniDoc.Load(filePath);

            File.Delete(filePath);
        }
示例#7
0
        public void SaveToStream() {
            string filePath = "SaveToStream.ini";
            FileStream stream = new FileStream(filePath, FileMode.Create);

            // Create a new document and save to stream
            IniDocument doc = new IniDocument();
            IniSection section = new IniSection("Pets");
            section.Set("dog", "rover");
            section.Set("cat", "muffy");
            doc.Sections.Add(section);
            doc.Save(stream);
            stream.Close();

            IniDocument newDoc = new IniDocument(new FileStream(filePath,
                                                                FileMode.Open));
            section = newDoc.Sections["Pets"];
            Assert.IsNotNull(section);
            Assert.AreEqual(2, section.GetKeys().Length);
            Assert.AreEqual("rover", section.GetValue("dog"));
            Assert.AreEqual("muffy", section.GetValue("cat"));

            stream.Close();

            File.Delete(filePath);
        }
示例#8
0
        public void SaveDocumentWithComments() {
            StringWriter writer = new StringWriter();
            writer.WriteLine("; some comment");
            writer.WriteLine(""); // empty line
            writer.WriteLine("[new section]");
            writer.WriteLine(" dog = rover");
            writer.WriteLine(""); // Empty line
            writer.WriteLine("; a comment");
            writer.WriteLine(" cat = muffy");
            IniDocument doc = new IniDocument(new StringReader(writer.ToString()));

            StringWriter newWriter = new StringWriter();
            doc.Save(newWriter);

            StringReader reader = new StringReader(newWriter.ToString());
            Assert.AreEqual("; some comment", reader.ReadLine());
            Assert.AreEqual("", reader.ReadLine());
            Assert.AreEqual("[new section]", reader.ReadLine());
            Assert.AreEqual("dog = rover", reader.ReadLine());
            Assert.AreEqual("", reader.ReadLine());
            Assert.AreEqual("; a comment", reader.ReadLine());
            Assert.AreEqual("cat = muffy", reader.ReadLine());

            writer.Close();
        }