将现有文件复制到新文件,不允许改写现有文件。[C#] public FileInfo CopyTo(string);
将现有文件复制到新文件,允许改写现有文件。[C#] public FileInfo CopyTo(string, bool);
[C#]
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:/temp/MyTest.txt";
string path2 = path + "temp";
try
{
// Create the file and clean up handles.
using (FileStream fs = File.Create(path)) {}
// Ensure that the target does not exist.
File.Delete(path2);
// Copy the file.
File.Copy(path, path2);
Console.WriteLine("{0} copied to {1}", path, path2);
// Try to copy the same file again, which should succeed.
File.Copy(path, path2, true);
Console.WriteLine("The second Copy operation succeeded, which was expected.");
}
catch
{
Console.WriteLine("Double copy is not allowed, which was not expected.");
}
}
}
[C#] COPY TO
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:/temp/MyTest.txt";
string path2 = @"c:/temp/MyTest.txt" + "temp";
FileInfo fi1 = new FileInfo(path);
FileInfo fi2 = new FileInfo(path2);
try
{
// Create the file and clean up handles.
using (FileStream fs = fi1.Create()) {}
//Ensure that the target does not exist.
fi2.Delete();
//Copy the file.
fi1.CopyTo(path2);
Console.WriteLine("{0} was copied to {1}.", path, path2);
//Try to copy it again, which should succeed.
fi1.CopyTo(path2, true);
Console.WriteLine("The second Copy operation succeeded, which is expected.");
}
catch
{
Console.WriteLine("Double copying was not allowed, which is not expected.");
}
}
}
若要执行此操作... | 请参见本主题中的示例... |
---|---|
创建文本文件。 | |
写入文本文件。 | |
读取文本文件。 | |
向文件中追加文本。 | |
重命名或移动文件。 | File.Move |
删除文件。 | File.Delete |
复制文件。 | File.Copy |
获取文件大小。 | FileInfo.Length |
获取文件属性。 | File.GetAttributes |
设置文件属性。 | File.SetAttributes |
确定文件是否存在。 | File.Exists |
读取二进制文件。 | |
写入二进制文件。 | |
检索文件扩展名。 | Path.GetExtension |
检索文件的完全限定路径。 | Path.GetFullPath |
检索路径中的文件名和扩展名。 | Path.GetFileName |
更改文件扩展名。 | Path.ChangeExtension |
Progress 类的使用
private void CopyWithProgress(string[] filenames)
{
// Display the ProgressBar control.
pBar1.Visible = true;
// Set Minimum to 1 to represent the first file being copied.
pBar1.Minimum = 1;
// Set Maximum to the total number of files to copy.
pBar1.Maximum = filenames.Length;
// Set the initial value of the ProgressBar.
pBar1.Value = 1;
// Set the Step property to a value of 1 to represent each file
being copied.
pBar1.Step = 1;
// Loop through all files to copy.
for (int x = 1; x <= filenames.Length; x++)
{
// Copy the file and increment the ProgressBar if successful.
if(CopyFile(filenames[x-1]) == true)
{
// Perform the increment on the ProgressBar.
pBar1.PerformStep();
}
}
}