Foxtable(狐表)用户栏目专家坐堂 → WriteAllText出现“文件被另一进程使用”,可能什么问题?


  共有2339人关注过本帖树形打印复制链接

主题:WriteAllText出现“文件被另一进程使用”,可能什么问题?

帅哥哟,离线,有人找我吗?
大红袍
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/25 11:26:00 [显示全部帖子]

加上try Cacth看看

 

http://www.foxtable.com/help/topics/2070.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/25 11:34:00 [显示全部帖子]

 如果报错,就是这个时候.txt文本正在被别的程序打开和使用中。

 

 你可以弄一个循环,不断尝试写入即可,如代码

 

do while true
    try
        FileSys.WriteAllText("d:\test.txt", "abcd", True)
        Exit Do
    catch ex As exception
       
    End try
Loop

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/25 14:22:00 [显示全部帖子]

 那试试这样

 

Do While True
    try
        Dim path As String = "d:\test.txt"
        If Not io.File.Exists(path) Then
            Dim myfile As New IO.FileInfo(path)
            Dim fs As IO.FileStream = myfile.Create()
            fs.Close()
        End If
        Dim sw = io.File.AppendText(path)
        sw.WriteLine("12345678")
        sw.Flush()
        sw.Close()
       
        Exit Do
    catch ex As exception
        msgbox(ex.message)
    End try
Loop

 


 回到顶部