更新:2007 年 11 月
以下示例说明如何使用
在操作多个文件时,请使用
示例
下面的示例演示如何复制文件和目录。
C# | 复制代码 |
---|---|
// Simple synchronous file copy operations with no user interface. // To run this sample, first create the following directories and files: // C:\Users\Public\TestFolder // C:\Users\Public\TestFolder\test.txt // C:\Users\Public\TestFolder\SubDir\test.txt public class SimpleFileCopy { static void Main() { string fileName = "test.txt"; string sourcePath = @"C:\Users\Public\TestFolder"; string targetPath = @"C:\Users\Public\TestFolder\SubDir"; // Use Path class to manipulate file and directory paths. string sourceFile = System.IO.Path.Combine(sourcePath, fileName); string destFile = System.IO.Path.Combine(targetPath, fileName); // To copy a folder's contents to a new location: // Create a new target folder, if necessary. if (!System.IO.Directory.Exists(targetPath)) { System.IO.Directory.CreateDirectory(targetPath); } // To copy a file to another location and // overwrite the destination file if it already exists. System.IO.File.Copy(sourceFile, destFile, true); // To copy all the files in one directory to another directory. // Get the files in the source folder. (To recursively iterate through // all subfolders under the current directory, see // "How to: Iterate Through a Directory Tree.") // Note: Check for target path was performed previously // in this code example. if (System.IO.Directory.Exists(sourcePath)) { string[] files = System.IO.Directory.GetFiles(sourcePath); // Copy the files and overwrite destination files if they already exist. foreach (string s in files) { // Use static Path methods to extract only the file name from the path. fileName = System.IO.Path.GetFileName(s); destFile = System.IO.Path.Combine(targetPath, fileName); System.IO.File.Copy(s, destFile, true); } } else { Console.WriteLine("Source path does not exist!"); } // Keep console window open in debug mode. Console.WriteLine("Press any key to exit."); Console.ReadKey(); } } |
下面的示例演示如何移动文件和目录。
C# | 复制代码 |
---|---|
// Simple synchronous file move operations with no user interface. public class SimpleFileMove { static void Main() { string sourceFile = @"C:\Users\Public\public\test.txt"; string destinationFile = @"C:\Users\Public\private\test.txt"; // To move a file or folder to a new location: System.IO.File.Move(sourceFile, destinationFile); // To move an entire directory. To programmatically modify or combine // path strings, use the System.IO.Path class. System.IO.Directory.Move(@"C:\Users\Public\public\test\", @"C:\Users\Public\private"); } } |
下面的示例演示如何删除文件和目录。
C# | 复制代码 |
---|---|
// Simple synchronous file deletion operations with no user interface. // To run this sample, create the following files on your drive: // C:\Users\Public\DeleteTest\test1.txt // C:\Users\Public\DeleteTest\test2.txt // C:\Users\Public\DeleteTest\SubDir\test2.txt public class SimpleFileDelete { static void Main() { // Delete a file by using File class static method... if(System.IO.File.Exists(@"C:\Users\Public\DeleteTest\test.txt")) { // Use a try block to catch IOExceptions, to // handle the case of the file already being // opened by another process. try { System.IO.File.Delete(@"C:\Users\Public\DeleteTest\test.txt"); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); return; } } // ...or by using FileInfo instance method. System.IO.FileInfo fi = new System.IO.FileInfo(@"C:\Users\Public\DeleteTest\test2.txt"); try { fi.Delete(); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } // Delete a directory. Must be writable or empty. try { System.IO.Directory.Delete(@"C:\Users\Public\DeleteTest"); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } // Delete a directory and all subdirectories with Directory static method... if(System.IO.Directory.Exists(@"C:\Users\Public\DeleteTest")) { try { System.IO.Directory.Delete(@"C:\Users\Public\DeleteTest", true); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } } // ...or with DirectoryInfo instance method. System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"C:\Users\Public\public"); // Delete this dir and all subdirs. try { di.Delete(true); } catch (System.IO.IOException e) { Console.WriteLine(e.Message); } } } |
请参见
修订记录
日期 | 修订 | 原因 |
---|---|---|
2008 年 7 月 | 新增主题。 |
内容 Bug 修复 |