六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 11|回复: 0

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

[复制链接]

升级  74.2%

2220

主题

2220

主题

2220

主题

榜眼

Rank: 8Rank: 8

积分
6710
 楼主| 发表于 2013-2-4 20:12:27 | 显示全部楼层 |阅读模式
将现有文件复制到新文件,不允许改写现有文件。[C#] public FileInfo CopyTo(string);

将现有文件复制到新文件,允许改写现有文件。[C#] public FileInfo CopyTo(string, bool);
[C#]
将文件复制到指定路径,允许改写同名的目标文件 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.");
}
}
}
[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.");
}
}
}




若要执行此操作...请参见本主题中的示例...创建文本文件。<?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[x-1]) == true)
{
// Perform the increment on the ProgressBar.
pBar1.PerformStep();
}
}
}
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表