如何备份完整的文件

本文关键字:文件 备份 何备份 | 更新日期: 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。文件,具体方法CopyExists。(以下列出的其他常见io参数也可能有用)

使用这些,您应该能够检查文件是否存在(例如:如果您的备份文件夹中已经有"backup_1.xyz"),并在此基础上为下一个备份文件生成一个新名称。

创建一个循环,用递增的数字替换1,直到找到一个"free"文件名,然后将原始文件复制到具有该名称的新文件中。

祝你好运!:)