Using Files in CSharp

From PeformIQ Upgrade
Revision as of 08:38, 26 November 2012 by PeterHarding (talk | contribs)
Jump to navigation Jump to search

Creating Text Files

class WriteTextFile
    {
        static void Main()
        {

            // These examples assume a "C:\Users\Public\TestFolder" folder on your machine.
            // You can modify the path if necessary. 

            // Example #1: Write an array of strings to a file. 
            // Create a string array that consists of three lines. 
            string[] lines = {"First line", "Second line", "Third line"};
            System.IO.File.WriteAllLines(@"C:\Users\Public\TestFolder\WriteLines.txt", lines);


            // Example #2: Write one string to a text file. 
            string text = "A class is the most powerful data type in C#. Like structures, " +
                           "a class defines the data and behavior of the data type. ";
            System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", text);

            // Example #3: Write only some strings in an array to a file. 
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt"))
            {
                foreach (string line in lines)
                {
                    if (line.Contains("Second") == false)
                    {
                        file.WriteLine(line);
                    }
                }
            }

            // Example #4: Append new text to an existing file 
            using (System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\Public\TestFolder\WriteLines2.txt", true))
            {
                file.WriteLine("Fourth line");
            }  
        }
    }
    /* Output (to WriteLines.txt):
        First line
        Second line
        Third line

     Output (to WriteText.txt):
        A class is the most powerful data type in C#. Like structures, a class defines the data and behavior of the data type.

     Output to WriteLines2.txt after Example #3:
        First line
        Third line

     Output to WriteLines2.txt after Example #4:
        First line
        Third line
        Fourth line
     */

Creating folders

public class CreateFileOrFolder
{
    static void Main()
    {
        // Specify a "currently active folder" 
        string activeDir = @"c:\testdir2";

        //Create a new subfolder under the current active folder 
        string newPath = System.IO.Path.Combine(activeDir, "mySubDir");

        // Create the subfolder
        System.IO.Directory.CreateDirectory(newPath);

        // Create a new file name. This example generates 
        // a random string. 
        string newFileName = System.IO.Path.GetRandomFileName();

        // Combine the new file name with the path
        newPath = System.IO.Path.Combine(newPath, newFileName);

        // Create the file and write to it. 
        // DANGER: System.IO.File.Create will overwrite the file 
        // if it already exists. This can occur even with 
        // random file names. 
        if (!System.IO.File.Exists(newPath))
        {
            using (System.IO.FileStream fs = System.IO.File.Create(newPath))
            {
                for (byte i = 0; i < 100; i++)
                {
                    fs.WriteByte(i);
                }
            }
        }

        // Read data back from the file to prove 
        // that the previous code worked. 
        try
        {
            byte[] readBuffer = System.IO.File.ReadAllBytes(newPath);
            foreach (byte b in readBuffer)
            {
                Console.WriteLine(b);
            }
        }
        catch (System.IO.IOException e)
        {
            Console.WriteLine(e.Message);
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}

File Metadata

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DateTime fileCreatedDate = File.GetCreationTime(@"C:\Example\MyTest.txt");
            Console.WriteLine("file created: " + fileCreatedDate);
	    }
    }
}