huyong36 2011-10-12 13:34 采纳率: 0%
浏览 949
已采纳

C#的File.move方法会不会有移动失败的情况?

在项目中碰到一个这样的bug,C#的发送文件的一个项目,功能是给指定的一些服务器ftp发送文件,然后发送成功的就移动到备份文件夹中.我调用的是File.Move(file_path, dest_path)方法来移动文件,file_path是原来所在的路径,dest_path是新路径,都在D盘下面,现在的情况是:项目运行的时候有一个文件xxx.txt,ftp发送成功后,移动到备份文件夹中,结果备份文件夹里有了这个xxx.txt文件,但原来的路径file_path下也还有这个文件。请问这是不是个bug,要怎么解决 这个项目一天要发送几万个文件,将近一个月才出现这一例情况。

  • 写回答

6条回答 默认 最新

  • _1_1_7_ 2011-10-13 11:18
    关注

    [quote]如果文件被占用而导致没有删除,怎么不会报错呢?[/quote]

    异常 条件
    IOException 目标文件已经存在。

    ArgumentNullException sourceFileName 或 destFileName 为 nullNothingnullptrnull 引用(在 Visual Basic 中为 Nothing)。

    ArgumentException sourceFileName 或 destFileName 是零长度字符串、只包含空白或者包含在 GetInvalidPathChars 中定义的无效字符。

    UnauthorizedAccessException 调用方没有所要求的权限。

    FileNotFoundException 未找到 sourceFileName。

    PathTooLongException 指定的路径、文件名或者两者都超出了系统定义的最大长度。例如,在基于 Windows 的平台上,路径必须小于 248 个字符,文件名必须小于 260 个字符。

    DirectoryNotFoundException sourceFileName 或 destFileName 中指定的路径无效(例如,它位于未映射的驱动器上)。

    NotSupportedException sourceFileName 或 destFileName 的格式无效。

    异常中不包括这种情况,文件可以读共享(复制文件是读源文件),不能写共享(删除或者移动源文件,都是要文件锁吧),大概就这意思了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘