原程序下载地址:http://www.cnwhistlesalon.com/blog.rar目前存在的问题:
将文件夹2中的文件,向d:\1目录中逐个拷入,第一个文件拷入时执行正常,若要连续拷入,在第二个时就报错,又是也能在第三、四个后面,具体见异常处理的MESSAGE即可。怀疑是StreamReader使用后资源不能释放,但该做的都试过了,就是不行。
另外,象这种在第一次运行时不出现错误,而在后面才出现错误的情况,怎样调试?
请斑竹们帮忙瞅瞅!谢谢!

解决方案 »

  1.   

    感觉你的程序写的比较乱,
    其中ArrayList中的内容放到string[]中,可以这样
    retImageFilename = new String[alRetImageFilename.Count];
    retImageFilename = (String[])alRetImageFilename.ToArray(typeof(String));
      

  2.   

    回复weisunding(鼎鼎) linuxyf(率人) :
    先谢谢两位的帮忙,你们试了几个文件,只试一个文件是不行的?
    我的程序运行时,有时在拷入第二个文件时便报错。有时也能连续拷入几个文件时仍正常执行,但最多也只能执行5次。麻烦两位再多试试。
    注:我只有这一个程序在操作这些文件。
      

  3.   

    谢谢 linuxyf(率人) 又教了我一招!!
      

  4.   

    sr = new StreamReader(args);
    new 的时候,加上另三个参数,FileMode,和FileAccess,还有一个好像是 设置 Share的,你设置成共享读就可以了
      

  5.   

    从你的调用堆栈中(在你的压缩包里面ERROR1.TXT文件中)可以看出,这里你给的源代码并非你出错时候的代码(至少不完整),因为根据堆栈的信息我并没有找到出错的函数:readInData.getDm()错误是从这个函数(readInData.getDm())里面抛出来了,但我在你的压缩包里并没有看到这个函数,请仔细检查这个函数中。在使用完StreamReader后是否Close?或者使用适当的FileShare方式打开文件。
      

  6.   

    回复 zeusvenus(清柳) :我换了台机器,再从网上下载下来,第一次测试,居然也能全部读出。但关掉程序,再重新进行测试,或再测试几次,问题就出来了,而且测试次数越多,问题越明显。
    就是因为这样,使得调试都无从下手,我也早晕过 N次了。还望各位多试试,各我些指导
    谢谢!
      

  7.   

    回复  cuike519(marshal(Help you,Help me)) :对于你说的error1.txt文件,版本较早,已经不适用我贴上的这个程序了,没有去掉,给你产生误导,不好意思。这个版本程序中已不使用readInData.getDm()方法了。
    照你说的,我使用带有FileShare的FileStream 实例作为参数,赋值给StreamReader 实例sr,但问题依旧,请再帮我看看。
    谢谢!