Csharp/C Sharp by API/System.IO/File

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

File.CreateText(String fileName)

<source lang="csharp"> using System; using System.IO; class MainClass {

 static void Main(string[] args)
 {
   StreamWriter MyStream = null;
   string MyString = "Hello World";
   try
   {
     MyStream = File.CreateText("MyFile.txt");
     MyStream.Write(MyString);
   }
   catch (IOException e)
   {
     Console.WriteLine(e);
   }
   catch (Exception e)
   {
     Console.WriteLine(e);
   }
   finally
   {
     if (MyStream != null)
       MyStream.Close();
   }
 }

}


 </source>


File.Delete

<source lang="csharp">

using System; using System.IO; class MainClass {

   static void Main() {
       string tempFile = Path.GetTempFileName();
       Console.WriteLine("Using " + tempFile);
       using (FileStream fs = new FileStream(tempFile, FileMode.Open)) {
           // (Write some data.)
       }
       // Now delete the file.
       File.Delete(tempFile);
   }

}

 </source>


File.Exists(String fileName)

<source lang="csharp"> using System; using System.IO; static class MainClass {

   static void Main(string[] args)
   {
       Console.WriteLine(File.Exists("c:\\test.txt"));
   }

}


 </source>


File.GetLastAccessTime

<source lang="csharp"> using System; using System.Windows.Forms; using System.IO; public class MainClass {

   [STAThread]
 public static void Main() 
 {
   OpenFileDialog dlgOpen = new OpenFileDialog();
   if (dlgOpen.ShowDialog() == DialogResult.OK)
   {
     string s = dlgOpen.FileName;
     Console.WriteLine("Filename " + s);
     Console.WriteLine(" Created at " + File.GetCreationTime(s));
     Console.WriteLine(" Accessed at " + 
      File.GetLastAccessTime(s));
   }
 }

}

 </source>


File.OpenRead

<source lang="csharp"> using System; using System.Windows.Forms; using System.IO; class MainClass {

 public static void Main() 
 {
   FileStream inStream = File.OpenRead("c:\\text.txt");
   FileStream outStream = File.OpenWrite("c:\\text.txt" + ".bak");
   
   BufferedStream bufInStream = new BufferedStream(inStream);
   BufferedStream bufOutStream = new BufferedStream(outStream);
   byte[] buf = new byte[1024];
   int bytesRead;
   while ((bytesRead = bufInStream.Read(buf, 0, 1024)) > 0)
     bufOutStream.Write(buf, 0, bytesRead);
   bufOutStream.Flush();
   bufOutStream.Close();
   bufInStream.Close();
   outStream.Close();
   inStream.Close();
 }

}

 </source>


File.OpenText

<source lang="csharp"> using System; using System.IO;

   public class Exists
   {
       static public void Main (string [] args)
       {
           if (args.Length == 0)
           {
               Console.WriteLine ("Please enter a file name");
               return;
           }
           if (!File.Exists (args[0]))
           {
               Console.WriteLine (args[0] + " does not exist");
               return;
           }
           StreamReader reader;
           try
           {
               reader = File.OpenText (args[0]);
           }
           catch (Exception e)
           {
               Console.WriteLine (e.Message);
               Console.WriteLine ("Cannot open " + args[0]);
               return;
           }
           while (reader.Peek() >= 0)
           {
               Console.WriteLine (reader.ReadLine ());
           }
           reader.Close ();
       }
   }
  
 </source>


File.OpenWrite

<source lang="csharp">

using System; using System.Windows.Forms; using System.IO; class MainClass {

 public static void Main() 
 {
   FileStream inStream = File.OpenRead("c:\\text.txt");
   FileStream outStream = File.OpenWrite("c:\\text.txt" + ".bak");
   
   BufferedStream bufInStream = new BufferedStream(inStream);
   BufferedStream bufOutStream = new BufferedStream(outStream);
   byte[] buf = new byte[1024];
   int bytesRead;
   while ((bytesRead = bufInStream.Read(buf, 0, 1024)) > 0)
     bufOutStream.Write(buf, 0, bytesRead);
   bufOutStream.Flush();
   bufOutStream.Close();
   bufInStream.Close();
   outStream.Close();
   inStream.Close();
 }

}

 </source>


File.ReadAllLines(String fileName)

<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; using System.IO; class MainClass {

   static void Main(string[] args)
   {
       StreamWriter writer = new StreamWriter(@"c:\myfile.txt");
       for (int i = 0; i < 3; i++)
       {
           writer.Write(i.ToString());
       }
       writer.Flush();
       writer.Close();
       foreach (string line in File.ReadAllLines(@"c:\myfile.txt"))
       {
           Console.WriteLine(line);
       }
   }

}


 </source>


File.SetAccessControl

<source lang="csharp"> using System; using System.IO; using System.Security.AccessControl; class MainClass {

   static void Main(string[] args) {
       FileStream stream;
       string fileName;
       fileName = Path.GetRandomFileName();
       using (stream = new FileStream(fileName, FileMode.Create)) {
           // Do something.
       }
       SetRule(fileName, "Everyone", FileSystemRights.Read, AccessControlType.Deny);
       try {
           stream = new FileStream(fileName, FileMode.Create);
       } catch (Exception ex) {
           Console.WriteLine(ex.ToString());
       } finally {
           stream.Close();
           stream.Dispose();
       }
   }
   static void AddRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {
       FileSecurity fSecurity = File.GetAccessControl(filePath);
       fSecurity.AddAccessRule(new FileSystemAccessRule(account, rights, controlType));
       File.SetAccessControl(filePath, fSecurity);
   }
   static void SetRule(string filePath, string account, FileSystemRights rights, AccessControlType controlType) {
       FileSecurity fSecurity = File.GetAccessControl(filePath);
       fSecurity.ResetAccessRule(new FileSystemAccessRule(account, rights, controlType));
       File.SetAccessControl(filePath, fSecurity);
   }

}

 </source>


File.WriteAllLines(String fileName, String[] lines)

<source lang="csharp"> using System; using System.Collections.Generic; using System.Text; using System.IO; class MainClass {

   static void Main(string[] args)
   {
       string[] lines = new string[10];
       for (int i = 0; i < 10; i++)
       {
           lines[i] = String.Format( "This is line number {0}", i);
       }
       File.WriteAllLines(@"c:\test.txt", lines);
       foreach (string line in File.ReadAllLines(@"c:\test.txt"))
       {
           Console.WriteLine(line);
       }
   }

}


 </source>