Vb.net vbnet文件I/O函数
就一些在MSDN上不清楚的VB net函数,有几个非常简单的问题: 使用fileopen函数时,例如Vb.net vbnet文件I/O函数,vb.net,file-io,Vb.net,File Io,就一些在MSDN上不清楚的VB net函数,有几个非常简单的问题: 使用fileopen函数时,例如 fileopen(1,Path of file,openmode.binary) ,当文本文件是 要打开的文件?每个字符都是以二进制形式使用的吗 当您使用fileget函数时 fileget(1,variablename) ,变量类型是否取决于从文件中读取的内容?所以如果 variablename被声明为char,fileget函数 从文件中读取字符 fileclose功能只是用来提高效
fileopen(1,Path of file,openmode.binary)
,当文本文件是
要打开的文件?每个字符都是以二进制形式使用的吗
当您使用fileget函数时
fileget(1,variablename)
,变量类型是否取决于从文件中读取的内容?所以如果
variablename被声明为char,fileget函数
从文件中读取字符
fileclose功能只是用来提高效率吗?如果
不闭合将类似于无限循环
NET Framework有一个名为full的命名空间,其中包含读取和写入文件文本或二进制文件的方法 此示例是关于如何使用VB.NET读取文本文件的示例
Public Shared Sub Main()
Try
Using sr As New StreamReader("TestFile.txt")
Dim line As String
line = sr.ReadToEnd()
Console.WriteLine(line)
End Using
Catch e As Exception
Console.WriteLine("The file could not be read:")
Console.WriteLine(e.Message)
End Try
End Sub
这里fileopen函数被构造函数替换。fileget被StreamReader的ReadToEnd或ReadLine或ReadBlock方法替换,而文件的关闭被End Using指令替换,该指令关闭并销毁由初始使用创建的StreamReader对象
我建议阅读MSDN上的这篇文章:
没有,你不应该这么做。如果你有一个文本文件,你应该在文本模式下打开它,而不是二进制模式。二进制模式用于读取以二进制模式编写的文件
是的,但您需要根据最初将数据写入文件的方式正确匹配数据类型。如果你搞错了,所有的赌注都输光了。这里没有自动的
不,您关闭文件不是为了提高效率,而是因为您已经完成了使用它。不关闭文件会导致资源泄漏。在应用程序关闭之前,文件不会关闭,然后操作系统将自动释放它。我想你可以考虑泄露资源是低效的,但我不认为这是你的意思。这根本不像是一个无限循环。应用程序一直在运行,文件无法打开或被其他任何东西读取,因为你已经锁定了它
但正如其他人已经说过的,您确实需要放弃这些陈旧的、过时的函数。它们起源于基础编程语言最早和最黑暗的时代。你以前必须这样做,但谢天谢地,我们现在不这样做了。它们存在于VB.NET中的唯一原因是为了更容易移植旧的VB 6应用程序。即使您正在这样做,移植工作的一部分也应该包括切换到System.IO命名空间提供的函数。这不仅仅是为了保持习惯或使用最新和最好的功能,而是为了节省大量额外的工作和痛苦。您需要忘记这些功能的存在。它们是用来帮助一个程序员将他的VB6程序移植到.NET的,如果你不需要这样做,它们就不适合使用。感谢你的输入,我知道使用StreamReader和StreamWriter,但我只是需要一些输入来实现我所说的功能。真的很抱歉,您应该将这些函数抛在脑后,使用专门为网络设计的功能。