从资源复制时出错
Error copying from resources
从资源复制到 appdata 文件夹下的文件夹时:出现错误,但我没有发现代码中有任何错误..
Private Sub Help_Load(sender As Object, e As EventArgs) Handles MyBase.Load
File.WriteAllBytes(MainPath & "\Help.rtf", My.Resources.HelpRTF)
Dim HelpRTF = (MainPath & "\Help.rtf")
Helpbox.LoadFile(HelpRTF)
End Sub
HelpRTF
是.rtf文件,MainPath
是%appdata%
文件夹下的目录
错误:类型 'String' 的值无法转换为 'Byte()'。
错误发生在:My.Resources.HelpRTF
出现该错误的原因是 File.WriteAllBytes()
方法的第二个参数采用 Byte()
,而不是 String
。如果要将文本(String
)写入文件,可以使用File.WriteAllText()
方法。
由于 RTF 可以包含图像、文本等,将其视为文本可能会损坏它,不用说,可能会出现编码问题。因此,不使用 File.WriteAllText()
方法,而是将 HelpRTF
资源的 FileType
更改为 Binary
而不是 Text
,如下所示:
之后,您可以按原样使用您的代码:
Private Sub Help_Load(sender As Object, e As EventArgs) Handles MyBase.Load
File.WriteAllBytes(MainPath & "\Help.rtf", My.Resources.HelpRTF)
Dim HelpRTF = (SWinPath & "\Help.rtf")
Helpbox.LoadFile(HelpRTF)
End Sub
参考文献:
从资源复制到 appdata 文件夹下的文件夹时:出现错误,但我没有发现代码中有任何错误..
Private Sub Help_Load(sender As Object, e As EventArgs) Handles MyBase.Load
File.WriteAllBytes(MainPath & "\Help.rtf", My.Resources.HelpRTF)
Dim HelpRTF = (MainPath & "\Help.rtf")
Helpbox.LoadFile(HelpRTF)
End Sub
HelpRTF
是.rtf文件,MainPath
是%appdata%
文件夹下的目录
错误:类型 'String' 的值无法转换为 'Byte()'。
错误发生在:My.Resources.HelpRTF
出现该错误的原因是 File.WriteAllBytes()
方法的第二个参数采用 Byte()
,而不是 String
。如果要将文本(String
)写入文件,可以使用File.WriteAllText()
方法。
由于 RTF 可以包含图像、文本等,将其视为文本可能会损坏它,不用说,可能会出现编码问题。因此,不使用 File.WriteAllText()
方法,而是将 HelpRTF
资源的 FileType
更改为 Binary
而不是 Text
,如下所示:
之后,您可以按原样使用您的代码:
Private Sub Help_Load(sender As Object, e As EventArgs) Handles MyBase.Load
File.WriteAllBytes(MainPath & "\Help.rtf", My.Resources.HelpRTF)
Dim HelpRTF = (SWinPath & "\Help.rtf")
Helpbox.LoadFile(HelpRTF)
End Sub
参考文献: