`
liulc
  • 浏览: 12966 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

C# 文件操作问题

    博客分类:
  • C#
阅读更多
两个路径,路径1是复制后保存的路径,路径2是原始文件保存路径.
读路径2下的文件A,如果路径1下已经有文件A,则先删除路径1下的文件A,然后从路径2下拷贝文件A到路径1下,
没有,则直接从路径2下拷贝文件A到路径1下.如此反复.如果读文件C时出错,则原来删除或拷贝的文件都要复原.即:路径1,路径2下的文件保持在执行所有操作之前的状态.
就跟数据处理的事务差不多,出错了就ROLLBACK.

怎么实现?请高手们指点,先谢过了!!!
分享到:
评论
2 楼 bigpanda 2007-07-15  
liulc 写道
如此反复.如果读文件C时出错,则原来删除或拷贝的文件都要复原.即:路径1,路径2下的文件保持在执行所有操作之前的状态.就跟数据处理的事务差不多,出错了就ROLLBACK.


看看我理解的对不对,假如拷贝的文件很多,要花上半个小时,15分钟后电源断了,或者用户中断程序执行了,那么所有的文件都要恢复到拷贝之前的状态。(Transaction Rollback)

二楼的方法不行吧,cp执行了一半电源断了已经拷贝的文件还能自动rollback?

这可是个很高级的需求了。最简单的实现方法要求操作系统支持File System Transactions,据我所知,在Windows,Mac,Linux,FreeBSD这些主流OS里面只有Windows Vista和下个版本的Windows Server Longhorn支持这个。(很久没有更新OS知识了,说错了请指正。)

Vista和Longhorn支持这些API:

CreateFileTransacted
CopyFileTransacted
MoveFileTransacted
DeleteFileTransacted
CreatedHardLinkTransacted
CreateSymbolicLinkTransacted
CreateDirectoryTransacted
RemovedDirectoryTransacted


MSDN Magazine有篇文章,可以看看:http://msdn.microsoft.com/msdnmag/issues/07/07/NTFS/default.aspx

想想看啊,Windows Update在更新系统,更新了上百个系统文件了,忽然断电了,得,Windows就死了。所以这个feature很重要。

如果没有只为Vista写程序这么好运,那么唯一的方法是自己实现two-phase-commit protocol了。这不是一个容易的事,可以去翻翻数据库实现的书。

我以前有个项目,就是因为自己实现two-phase-commit protocol的代价太大,所有的东西都放到数据库去了。
1 楼 gigix 2007-07-15  
cp -f /path/to/file2 /path/to/file1

相关推荐

    C#文件操作文档

    在C#编程环境中,文件操作是一项基础且重要的任务,尤其在处理Office等办公软件的数据时。C#提供了丰富的类库,使得我们能够方便地创建、读取、写入和保存Excel、Word、Text以及Xml文档。以下将详细介绍这些操作。 ...

    C#文件操作类

    C#文件操作类

    C#文件读写操作

    C# 提供了异步版本的文件操作方法,如`WriteAllTextAsync`、`ReadAllTextAsync`等,以实现非阻塞的文件操作,提高程序性能。 8. **高级文件操作**: 更复杂的文件操作,如批量处理、文件夹遍历、文件搜索等,可以...

    C# 对文件操作详细

    在提供的压缩包文件中,有多个名为"ConsoleApplicationX"的项目,这些项目可能包含了关于C#文件操作的实际代码示例。例如,ConsoleApplication1可能是演示如何创建并写入文件,ConsoleApplication2可能展示了读取...

    C#编程 文件操作 FileCopyPlan(源码)(源码)

    C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)C#编程 文件操作 FileCopyPlan(源码)(源码)...

    C#操作PSD文件源码示例

    本示例主要探讨如何使用C#来操作Photoshop的PSD(Photoshop Document)文件,这是一种专用于存储Adobe Photoshop图像数据的格式。通过理解和运用C#处理PSD文件的代码,开发者可以实现对PSD文件的读取、解析和修改等...

    C#编程 文件操作 WordReplace(源码)(源码)

    C#编程 文件操作 WordReplace(源码)(源码)C#编程 文件操作 WordReplace(源码)(源码)C#编程 文件操作 WordReplace(源码)(源码)C#编程 文件操作 WordReplace(源码)(源码)C#编程 文件操作 WordReplace(源码)(源码)C#...

    C#文件和流操作

    C#文件和流操作 C#语言在文件和流操作方面提供了强大的功能,本文将详细介绍C#语言中文件和流操作的相关知识点。 一、访问文件夹 在C#语言中,访问文件夹使用Directory类,需要在文件的开头加入一条导入语句:...

    c# 文件操作总结

    c# 文件上传,下载,压缩rar,zip,解压rar,zip,文件流读取,excel文件读取上传等操作总结

    C#编程 文件操作 GetShortPathName(源码)(源码)

    C#编程 文件操作 GetShortPathName(源码)(源码)C#编程 文件操作 GetShortPathName(源码)(源码)C#编程 文件操作 GetShortPathName(源码)(源码)C#编程 文件操作 GetShortPathName(源码)(源码)C#编程 文件操作 ...

    C#编程 文件操作 AllowDropFile(源码)(源码)

    C#编程 文件操作 AllowDropFile(源码)(源码)C#编程 文件操作 AllowDropFile(源码)(源码)C#编程 文件操作 AllowDropFile(源码)(源码)C#编程 文件操作 AllowDropFile(源码)(源码)C#编程 文件操作 AllowDropFile(源码)...

    C#文件操作系统和报告

    本报告主要探讨了C#中的文件操作系统以及如何利用它来创建、读取、更新和删除文件,以及生成报告。以下是关于这一主题的详细知识: 1. C# 文件操作基础: - `System.IO` 命名空间:C#中的所有文件操作功能都包含在...

    c#文件操作类,读取,写入;

    c#文件操作类,读取,写入;根据传入的虚拟路径或物理路径获取文件、目录;

    C#编程 文件操作 CreateFile(源码)(源码)

    C#编程 文件操作 CreateFile(源码)(源码)C#编程 文件操作 CreateFile(源码)(源码)C#编程 文件操作 CreateFile(源码)(源码)C#编程 文件操作 CreateFile(源码)(源码)C#编程 文件操作 CreateFile(源码)(源码)C#编程 ...

    C# 文件浏览操作控件

    8. **应用场景**:此控件可以广泛应用于需要内置文件管理功能的应用程序中,如文本编辑器、图片查看器、音乐播放器等,让开发者不必从零开始构建文件操作功能。 综上所述,"C# 文件浏览操作控件"是一个强大的工具,...

    C#编程 文件操作 ReadFileByLine(源码)(源码)

    C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine(源码)(源码)C#编程 文件操作 ReadFileByLine...

    C#编程 文件操作 INIFileOperate(源码)(源码)

    C#编程 文件操作 INIFileOperate(源码)(源码)C#编程 文件操作 INIFileOperate(源码)(源码)C#编程 文件操作 INIFileOperate(源码)(源码)C#编程 文件操作 INIFileOperate(源码)(源码)C#编程 文件操作 INIFileOperate...

    C#编程 文件操作 MultiFormatTxt(源码)(源码)

    C#编程 文件操作 MultiFormatTxt(源码)(源码)C#编程 文件操作 MultiFormatTxt(源码)(源码)C#编程 文件操作 MultiFormatTxt(源码)(源码)C#编程 文件操作 MultiFormatTxt(源码)(源码)C#编程 文件操作 MultiFormatTxt...

    C#对tiff文件操作类

    下面将详细阐述如何在C#中操作TIFF文件,并实现文件的拆分、显示以及合并功能。 首先,了解TIFF文件结构是必要的。TIFF文件由一个或多个图像文件目录(IFD)组成,每个IFD包含图像数据的元信息,如宽度、高度、色彩...

    winform 文件操作 WM6.0 c# 遍历文件夹、复制文件、删除文件、复制文件内容

    在Windows Mobile 6.0(简称WM6.0)平台上,使用C#开发WinForm应用程序时,文件操作是常见的需求。本教程将详细介绍如何在这样的环境下遍历文件夹、复制文件、删除文件以及复制文件内容。 一、遍历文件夹 在C#中,...

Global site tag (gtag.js) - Google Analytics