happmaoo 发表于 2013-2-4 20:12:27

将文件复制到指定路径[C# 文件操作]

将现有文件复制到新文件,不允许改写现有文件。 public FileInfo CopyTo(string);

将现有文件复制到新文件,允许改写现有文件。 public FileInfo CopyTo(string, bool);

将文件复制到指定路径,允许改写同名的目标文件 COPY
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.");
}
}
}
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.");
}
}
}




若要执行此操作...请参见本主题中的示例...创建文本文件。<?XML:NAMESPACE PREFIX = MSHELP /><link tabindex="0" keywords="cpconwritingtexttofile">写入文本文件。<link tabindex="0" keywords="cpconwritingtexttofile">读取文本文件。<link tabindex="0" keywords="cpconreadingtextfromfile">向文件中追加文本。<link tabindex="0" keywords="cpconopeningappendingtologfile">File.AppendText
FileInfo.AppendText
重命名或移动文件。File.Move FileInfo.MoveTo
删除文件。File.Delete FileInfo.Delete
复制文件。File.Copy FileInfo.CopyTo
获取文件大小。FileInfo.Length 获取文件属性。File.GetAttributes 设置文件属性。File.SetAttributes 确定文件是否存在。File.Exists 读取二进制文件。<link tabindex="0" keywords="cpconReadingWritingToNewlyCreatedDataFile">写入二进制文件。<link tabindex="0" keywords="cpconReadingWritingToNewlyCreatedDataFile">检索文件扩展名。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) == true)
{
// Perform the increment on the ProgressBar.
pBar1.PerformStep();
}
}
}
页: [1]
查看完整版本: 将文件复制到指定路径[C# 文件操作]