You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何断开本地JSON文件连接?解决文件占用无法替换问题

JSON文件读取后无法删除的解决方案

问题出在你没有正确释放文件读取资源,导致文件句柄被占用。你的代码中打开了StreamReader和JsonTextReader,但没有手动释放,系统不会立即回收这些资源,所以文件会被锁定,无法执行删除或替换操作。

两种可行的解决办法:

  1. 使用Using语句自动管理资源
    VB的Using语句会在代码块执行完毕后自动调用对象的Dispose方法,释放占用的文件句柄,是最安全的方式:
Using Sreader As StreamReader = File.OpenText("C:\Common\Current.json")
    Using Reader As JsonTextReader = New JsonTextReader(Sreader)
        Dim Treader As JObject = CType(JToken.ReadFrom(Reader), JObject)
        S1 = Treader.SelectToken("current.temp_c").ToString()
    End Using
End Using
  1. 直接读取文件内容(更简洁)
    Newtonsoft.Json提供了直接解析文件内容的方法,无需手动处理流对象,底层会自动完成资源释放:
Dim Treader As JObject = JObject.Parse(File.ReadAllText("C:\Common\Current.json"))
S1 = Treader.SelectToken("current.temp_c").ToString()

采用以上任意一种方式,读取完成后文件句柄会被立即释放,后续的删除、替换JSON文件的操作就能正常执行。

内容的提问来源于stack exchange,提问作者Vahid Bahrami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 09:40:06