如何备份完整的文件
本文关键字:文件 备份 何备份 | 更新日期: 2023-09-27 18:10:51
什么是最有效的方法,使备份的文件,当它被打开到程序中,以便当用户更改并保存它,总有一个方法返回?
的例子:
private void open_click(object sender, EventArgs e)
{
ofd.DefaultExt = "";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
fileIn = ofd.FileName;
fileOut = Path.GetTempFileName();
string encoded = File.ReadAllText(fileIn);
etc. etc. etc
}
加载到程序中的文件需要备份为backup_01,并放在与原始文件相同的文件夹中。当backup_01存在时,备份为backup_02,依此类推)。
示例非常受欢迎!
我通常会创建一个文件本身的副本,将其放在"备份"文件夹中,并对其应用某种命名方案以指示其使用时间。
例如:folder/originalFile.xyz
==> folder/backup/originalFile_2013-04-14-12-48.bak
更新/事后思考:我认为这将取决于操作系统执行复制操作,但它通常不会太糟糕。除非你有充分的理由这样做,否则我将避免尝试添加额外的逻辑来提高效率。
回复评论:
我不会在这里提供详细的实现,但我会尝试为您指出正确的方向:查看System.IO。文件,具体方法Copy
和Exists
。(以下列出的其他常见io参数也可能有用)
使用这些,您应该能够检查文件是否存在(例如:如果您的备份文件夹中已经有"backup_1.xyz
"),并在此基础上为下一个备份文件生成一个新名称。
创建一个循环,用递增的数字替换1
,直到找到一个"free"文件名,然后将原始文件复制到具有该名称的新文件中。
祝你好运!:)