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

Материал из .Net Framework эксперт
Версия от 15:12, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

FileStream.Position

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

   private static void Main() {
       FileStream fs = new FileStream("test.dat", FileMode.Create);
       BinaryWriter w = new BinaryWriter(fs);
       w.Write(1.2M);
       w.Write("string");
       w.Write("string 2");
       w.Write("!");
       w.Flush();
       w.Close();
       fs.Close();
       fs = new FileStream("test.dat", FileMode.Open);
       StreamReader sr = new StreamReader(fs);
       Console.WriteLine(sr.ReadToEnd());
       fs.Position = 0;
       BinaryReader br = new BinaryReader(fs);
       Console.WriteLine(br.ReadDecimal());
       Console.WriteLine(br.ReadString());
       Console.WriteLine(br.ReadString());
       Console.WriteLine(br.ReadChar());
       fs.Close();
   }

}


 </source>


FileStream.Read

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

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

}

 </source>


FileStream.ReadByte

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

 public static void Main(string[] args) {
   int i;
   FileStream fin;
   try {
     fin = new FileStream("test.cs", FileMode.Open);
   } catch(FileNotFoundException exc) {
     Console.WriteLine(exc.Message);
     return;
   } catch(IndexOutOfRangeException exc) {
     Console.WriteLine(exc.Message + "\nUsage: ShowFile File");
     return;
   }
   // read bytes until EOF is encountered
   do {
     try {
       i = fin.ReadByte();
     } catch(Exception exc) {
       Console.WriteLine(exc.Message);
       return;
     }
     if(i != -1) Console.Write((char) i);
   } while(i != -1);
   fin.Close();
 }

}

 </source>


FileStream.SetLength

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

   public class StrmWrtr
   {
       static public void Main (string [] args)
       {
           FileStream strm;
           StreamWriter writer;
           strm = new FileStream ("text.txt", FileMode.OpenOrCreate, FileAccess.Write);
           writer = new StreamWriter (strm);
           strm.SetLength (0);
           while (true)
           {
                string str = Console.ReadLine ();
                if (str.Length == 0)
                    break;
                writer.WriteLine (str);
           }
           writer.Close ();
           strm.Close ();
       }
   }
  
   
 </source>


FileStream.Write

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

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

}

 </source>


FileStream.WriteByte

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

 public static void Main(string[] args) {
   FileStream fout;
   try {
     fout = new FileStream("test.txt", FileMode.Create);
   } catch(IOException exc) {
     Console.WriteLine(exc.Message + "\nError Opening Output File");
     return;
   }
   // Write the alphabet to the file.
   try {
     for(char c = "A"; c <= "Z"; c++)
       fout.WriteByte((byte) c);
   } catch(IOException exc) {
     Console.WriteLine(exc.Message + "File Error");
   }
   fout.Close();
 }

}

 </source>


new FileStream("soaptest.xml", FileMode.Create, FileAccess.ReadWrite)

<source lang="csharp"> using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; class SoapTest {

  public static void Main()
  {
     SerialEmployee emp1 = new SerialEmployee();
     SerialEmployee emp2 = new SerialEmployee();
     emp1.EmployeeID = 1;
     emp1.LastName = "B";
     emp1.FirstName = "K";
     emp1.YearsService = 12;
     emp1.Salary = 35000.50;
     emp2.EmployeeID = 2;
     emp2.LastName = "B";
     emp2.FirstName = "J";
     emp2.YearsService = 9;
     emp2.Salary = 23700.30;
     Stream str = new FileStream("soaptest.xml", FileMode.Create, FileAccess.ReadWrite);
     IFormatter formatter = new SoapFormatter();
     formatter.Serialize(str, emp1);
     formatter.Serialize(str, emp2);
     str.Close();
  }

}

[Serializable] public class SerialEmployee {

  public int EmployeeID;
  public string LastName;
  public string FirstName;
  public int YearsService;
  public double Salary;
  public SerialEmployee()
  {
     EmployeeID = 0;
     LastName = null;
     FirstName = null;
     YearsService = 0;
     Salary = 0.0;
  }

}


 </source>


new FileStream(String fileName, FileMode.Open)

<source lang="csharp">

using System; using System.Collections.Generic; using System.Collections.Specialized; using System.IO; using System.IO.rupression; using System.Net; using System.Net.Mail; using System.Net.Sockets; using System.Runtime.InteropServices; using System.Text; using System.Threading; public class MainClass {

   public static void Main()
   {
       using (Stream from = new FileStream("c:\\test.txt", FileMode.Open))
       using (Stream to = new FileStream("c:\\test2.txt", FileMode.OpenOrCreate))
       {
           int readCount;
           byte[] buffer = new byte[1024];
           while ((readCount = from.Read(buffer, 0, 1024)) != 0)
           {
               to.Write(buffer, 0, readCount);
           }
       }
   }

}



 </source>