Foxtable(狐表)用户栏目专家坐堂 → FileSys用法中编码的问题?


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

主题:FileSys用法中编码的问题?

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
FileSys用法中编码的问题?  发帖心情 Post By:2017/4/21 17:40:00 [显示全部帖子]

Dim file As String = args(0)
Dim s As String = FileSys.ReadAllText(file, Encoding.UTF8)
FileSys.WriteAllText(file, s, False,Encoding.UTF8)

如果打开的文件既有utf8和gbk编码格式的,这时遍历文件夹就会存在问题。
能不能程序来判断要打开的文件的编码格式?




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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2017/4/22 8:53:00 [显示全部帖子]

Dim file As String = "D:\暂存\ceshi\haha.html"
Dim encode As System.Text.Encoding = GetFileEncodeType(file)
Dim s As String = FileSys.ReadAllText(file, encode)
s = Replace(s,"美文网", "爱阅读")
FileSys.WriteAllText(file, s, False,encode)

命令窗口中执行有下面这个错误
那个函数已经放在全局代码里了

图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2017/4/22 13:42:00 [显示全部帖子]

可是这个文件没有被打开,而且文件的属性也不是只读的。

会不会这个函数占用了这个文件,没有释放出来的原因

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2017/4/22 14:20:00 [显示全部帖子]

Dim file As String = "D:\暂存\ceshi\haha.html"
Dim encode As System.Text.Encoding = GetFileEncodeType(file)
Dim s As String = FileSys.ReadAllText(file, encode)

s = Replace(s,"美文网", "爱阅读")
FileSys.WriteAllText("D:\暂存\ceshi\haha11.html", s, False,encode)

这样执行就可以,保存为原来的文件名就出错。但是这样不能满足要求

在做怎样的处理可以确保更改完内容保存到原文件内

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2017/4/22 15:22:00 [显示全部帖子]

嗯,这样就可以了。另外咨询个事情,UTF8无BOM和带BOM有什么区别

我在替换UTF格式编码文件时,带BOM的可以替换过来,不带BOM的就是替换不过来,

我们的这个System.Text.Encoding.UTF8可以做区分吗

 回到顶部