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

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 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题