Csharp/CSharp Tutorial/File Directory Stream/File Copy — различия между версиями

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

Текущая версия на 15:20, 26 мая 2010

Copy a file

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

class MainClass {

 public static void Main(string[] args) { 
   int i; 
   FileStream fin; 
   FileStream fout; 

   try { 
     fin = new FileStream("inputFile.txt", FileMode.Open); 
   } catch(FileNotFoundException exc) { 
     Console.WriteLine(exc.Message + "\nInput File Not Found"); 
     return; 
   } 

   try { 
     fout = new FileStream("outputFile.txt", FileMode.Create); 
   } catch(IOException exc) { 
     Console.WriteLine(exc.Message + "\nError Opening Output File"); 
     return; 
   } 

   try { 
     do { 
       i = fin.ReadByte(); 
       if(i != -1) 
          fout.WriteByte((byte)i); 
     } while(i != -1); 
   } catch(IOException exc) { 
     Console.WriteLine(exc.Message + "File Error"); 
   } 

   fin.Close(); 
   fout.Close(); 
 } 

}</source>

Copying A File by using FileInfo

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

 static void Main(string[] args)
 {
   FileInfo MyFile = new FileInfo(@"c:\Projects\Testing.txt");
   MyFile.Create();
   MyFile.CopyTo(@"c:\Folder\Testing.txt");
   //or
   MyFile.CopyTo(@"c:\Folder\Testing.txt", true);
 }

}</source>

Writing data: copying from one stream to another

<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>