vb怎样vb读取txt文件指定行本每一行的指定内容

VB读取TXT文件并获取指定内容
[问题点数:80分,结帖人ajunajun]
VB读取TXT文件并获取指定内容
[问题点数:80分,结帖人ajunajun]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关推荐:
2013年12月 VB大版内专家分月排行榜第二2013年3月 VB大版内专家分月排行榜第二2013年1月 VB大版内专家分月排行榜第二2012年9月 VB大版内专家分月排行榜第二2012年8月 VB大版内专家分月排行榜第二2012年7月 VB大版内专家分月排行榜第二2006年7月 VB大版内专家分月排行榜第二2006年5月 VB大版内专家分月排行榜第二
2014年9月 VB大版内专家分月排行榜第三2013年7月 VB大版内专家分月排行榜第三2013年6月 VB大版内专家分月排行榜第三2013年4月 VB大版内专家分月排行榜第三2012年11月 VB大版内专家分月排行榜第三2006年6月 VB大版内专家分月排行榜第三2006年4月 VB大版内专家分月排行榜第三2002年12月 VB大版内专家分月排行榜第三2002年11月 VB大版内专家分月排行榜第三
2013年12月 VB大版内专家分月排行榜第二2013年3月 VB大版内专家分月排行榜第二2013年1月 VB大版内专家分月排行榜第二2012年9月 VB大版内专家分月排行榜第二2012年8月 VB大版内专家分月排行榜第二2012年7月 VB大版内专家分月排行榜第二2006年7月 VB大版内专家分月排行榜第二2006年5月 VB大版内专家分月排行榜第二
2014年9月 VB大版内专家分月排行榜第三2013年7月 VB大版内专家分月排行榜第三2013年6月 VB大版内专家分月排行榜第三2013年4月 VB大版内专家分月排行榜第三2012年11月 VB大版内专家分月排行榜第三2006年6月 VB大版内专家分月排行榜第三2006年4月 VB大版内专家分月排行榜第三2002年12月 VB大版内专家分月排行榜第三2002年11月 VB大版内专家分月排行榜第三
2013年12月 VB大版内专家分月排行榜第二2013年3月 VB大版内专家分月排行榜第二2013年1月 VB大版内专家分月排行榜第二2012年9月 VB大版内专家分月排行榜第二2012年8月 VB大版内专家分月排行榜第二2012年7月 VB大版内专家分月排行榜第二2006年7月 VB大版内专家分月排行榜第二2006年5月 VB大版内专家分月排行榜第二
2014年9月 VB大版内专家分月排行榜第三2013年7月 VB大版内专家分月排行榜第三2013年6月 VB大版内专家分月排行榜第三2013年4月 VB大版内专家分月排行榜第三2012年11月 VB大版内专家分月排行榜第三2006年6月 VB大版内专家分月排行榜第三2006年4月 VB大版内专家分月排行榜第三2002年12月 VB大版内专家分月排行榜第三2002年11月 VB大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。怎样用VB读取一个TXT文件里的特定字符间的内容?_百度知道
怎样用VB读取一个TXT文件里的特定字符间的内容?
比如,我有一个叫name的TXT文件里面的内容是:ABC(aa)abc+AB(bb)AB=A=B=CD(cc)AB现在,我想把括号( )里面的东西读取出来,并放进一个TAB里面,比如这个文件读取后,我可以得到一个TAB,并且TAB(0)=aa 然后TAB(1)=bb , TAB(2)=cc请各位VB高手指导小弟,拜谢~~~可以用的话加双倍分~~~
提问者采纳
Function GetIn$(ByVal S$, ByVal S1$, ByVal S2$) '算定义 取特征字符串Dim p1%, p2%: GetIn = &&: p1 = InStr(S, S1)If p1 & 0 Then
S = Mid(S, p1 + Len(S1)): p2 = InStr(S, S2)
If p2 & 0 Then S = Left(S, p2 - 1): GetIn = SEnd IfEnd FunctionPrivate Sub Command1_Click()Dim f%, temp$, S$, Af = FreeFileOpen App.Path & &\name.TXT& For Input As fWhile Not EOF(f)
Line Input #f, temp '读文件中的 一行
S = S & GetIn(temp, &(&, &)&) & &|& '调用 GetIn 函数 取出每一行中的()中的内容WendClose fA = Split(S, &|&) '将S用 | 分解为数组For f = LBound(A) To UBound(A)
Print A(f) '输出A数组NextEnd Sub
提问者评价
前面几位,不好意思了啊,这位兄台的代码,复制粘贴就可以运行了。要是可以分着给分就好了。谢谢大家了
其他类似问题
为您推荐:
其他2条回答
Dim a(100) As Stringx = &ABC(aa)abc_+AB(bb)AB=A=B=CD(cc)AB&y = &(&z = &)&p1 = 1j = 0For i = 0 To Len(x)p1 = InStr(p1, x, y)If p1 = 0 ThenExit ForEnd Ifp2 = InStr(p1, x, z)a(j) = Mid(x, p1 + 1, p2 - p1 - 1)j = j + 1i = p2p1 = p2Next随意写的 a(0)=aa
可以帮我把读取TXT文件的那部分代码也写出来么?可以运行的话
我再加给您20分
Open App.Path&&\name.txt& For Input As #1Dim Lines As StringDim NextLine As StringDim i As IntegerDo While Not EOF(1)On Error Resume NextLine Input #1, NextLineLines = Lines & NextLine & Chr(13) & Chr(10)LoopClose #1x=Lines
'通用过程
Sub pp(ByRef a() As String, ByVal st As String) '匹配
Dim m As Long, n As Long
For i = 1 To Len(st)
If Mid(st, i, 1) = &(& Then m = i
If Mid(st, i, 1) = &)& Then
If m && 0 And n && 0 Then
ReDim Preserve a(UBound(a) + 1)
a(UBound(a)) = Mid(st, m + 1, n - m - 1)
m = 0: n = 0
用的时候保证已定义了全局数组,且该数组为动态的,并进行初始化首元素为空,调用后提取的信息从数组下标为1的元素开始。
’这个算法匹配的是相邻两个完整的括号,如对于“(1)2(8(3)4(5)6)9)0(7))”,它提取的是1,3,5,7
如果希望其他匹配方式,算法需要改动,当然如果你的文本都是()这样的有规律,就没有必要考虑那么多。
用的时候可以这样调用
您可能关注的推广回答者:
txt文件的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁VB怎样读取文本中指定字符串下的第二行数据 -VB- TryCatch
>> Content
VB怎样读取文本中指定字符串下的第二行数据
PCM-TSL&&SUB_TSL&&TYPE&&&&&&&&&&&&I.LEV&&&&&&&&&ADM.STATE&&&&&&&OP.STATE&&&&&&CH.STATUS------------------------------------------------------------------------------&&0&&&&&&&&&&33&&&&&&&&&&&&&&&-&&&&&&&&&&&&&&&&&MBCCH&&&&&&-&&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&1&&&&&&&&&&33&&&&&&&&&&&&&&&-&&&&&&&&&&&&&&&&&SDCCH&&&&&&&-&&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&&&2&&&&&&&&&&33-&&1&&&&&&&&&2&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&&3&&&&&&&&&&33-&&1&&&&&&&&&3&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&4&&&&&&&&&&33-&&2&&&&&&&&&0&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&&5&&&&&&&&&&33-&&2&&&&&&&&&1&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&&6&&&&&&&&&&33-&&2&&&&&&&&&2&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&&7&&&&&&&&&&33-&&2&&&&&&&&&3&&&&&&&&&&&&&&&&&TCHD&&&&&&&&&&0&&&&&&&&&&&&&&&&UNLOCKED&&&&&&&&WO&&&&&&&&&&&&&&&&&SCEIVER&HAS&NO&INTERFERING&CELLS以上是log文件中的一部分,文件内容很多,都是查看数据显示的内容,这一段第一行内容是固定的,然后是一行分隔符号,我要获取中间这几行数据,VB能实现读取某一行字符后获取这行字符的第2行往后数据么?,当读取到某行字符后停止获取数据&
------Solutions------
只要有规则就可以
------Solutions------
fso&skipline....
------Solutions------
google一下&vb&fso&skipline
------Solutions------
1。开始读取的条件?2。结束读取的条件?3。列间隔是什么?把读出来的数据判断就可以了
------Solutions------
有规则的,要提取的内容都是第一行为字段名称,第二行是分隔符,然后是提取内容,最后有一行字符表示内容结束,只不过每段内容都不一样,我想知道怎样实现读取
------Solutions------
每行之间都有换行符么??如果有换行符用我说的skipline&&readline的方法就比较好....
------Solutions------
open&"d:\aa.log"&for&input&as&#1do&while&not&eof(1)&&&line&input&#1,s&&&i=i+1&&&if&i&2&then&&&&&if&s=&"SCEIVER&HAS&NO&INTERFERING&CELLS"&then&&&&&&&&exit&do&&&&&else&&&&&&&&t=t+s+vbcrlf&&&&&end&if&&&end&ifloopclose&#1text1.text=&t
------Solutions------
我写的例子是log文件中的一段内容,并不是从文件第一行开始
------Solutions------
引用&8&楼&lansiluo&的回复:我写的例子是log文件中的一段内容,并不是从文件第一行开始不好意思没看到,这样也简单,不过你没有固定的结尾....这个比较麻烦...如果没有固定结尾,有下一段的开头的格式也成...
------Solutions------
FSO对象模型在VB中的应用&从&Visual&Basic&的第一版至今,VB中有关文件的处理都是通过使用&Open&、Write以及其它一些相关的语句和函数来实现的。随着软件技术的不断发展,加上面向对象编程概念的日臻成熟,这些文件操作语句已经不能适应软件不断增加的复杂程度的需要了。因此,从VB6.0开始,微软提出了一个全新的文件系统对象FSO。一、简介文件系统对象FSO的英文全称是File&System&Object&,这种对象模型提出了有别于传统的文件操作语句处理文件和文件夹的方法。通过采用object.method这种在面向对象编程中广泛使用的语法,将一系列操作文件和文件夹的动作通过调用对象本身的属性直接实现。FSO&对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且可以检测是否存在指定的文件夹,如果存在,那么,这个文件夹又位于磁盘上的什么位置。更令人高兴的是FSO&对象模型还可以获取关于文件和文件夹的信息,如名称、创建日期或最近修改日期等以及当前系统中使用的驱动器的信息,如驱动器的种类是CD-ROM还是可移动磁盘,当前磁盘的剩余空间还有多少。而以前要获取这些信息必须通过调用Windows&API函数集中的相应函数才能实现。FSO对象模型包含在Scripting&类型库&(Scrrun.Dll)中,它同时包含了Drive、Folder、File、FileSystemObject和TextStream五个对象。其中Drive用来收集驱动器的信息,如可用磁盘空间或驱动器的类型;Folder用于创建、删除或移动文件夹,同时可以进行向系统查询文件夹的路径等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是针对磁盘上的文件进行的;FileSystemObject是FSO对象模型中最主要对象,它提供了一套完整的可用于创建、删除文件和文件夹,收集驱动器、文件夹、文件相关信息的方法。需要注意的是,FSO对象模型提供的方法是冗余的,也就是说在实际使用中,FSO对象模型中包含的不同对象的不同方法进行的却是同样的操作,而且FileSystemObject对象的方法直接作用于其余对象,所以在后面的文章中并没有单独提到FileSystemObject对象,千万不要以为没有提到就不重要,事实上FileSystemObject对象在整个FSO对象模型中无处不在;最后的TextStream对象则是用来完成对文件的读写操作的。在初步了解了FSO对象模型之后,下面我们通过实际的代码对不同的对象进行进一步的阐述。二、FSO对象模型的应用(一)创建FSO对象模型由于FSO对象包含在Scripting&类型库&(Scrrun.Dll)中,所以在使用前首先需要在在工程中引用这个文件,单击“工程”,“引用”,然后在“引用”对话框中选中“Microsoft&Scripting&Runtime”前的复选框,然后单击“确定”。要创建FSO对象可以采用两种方法,一种是将一个变量声明为FSO对象类型:Dim&fsoTest&As&New&FileSystemObject;另一种是通过CreateObject方法创建一个FSO&对象:Set&fsoTest&=&CreateObject(“Scripting.FileSystemObject")。在实际使用中具体采用哪种声明方法,可根据个人的使用习惯而定。完成了FSO对象模型的创建之后,就可以利用创建的对象模型的方法访问下属各个对象的属性来获取所需信息或进行相关操作了,具体的方法在下面结合各个对象分别讲述。(二)Drive对象上面已经提到Drive对象是用来获取当前系统中各个驱动器的信息的。由于Drive对象没有方法,其应用都是通过属性表现出来的,所以我们必须熟悉Drive对象的属性:AvailableSpace:返回在指定的驱动器或网络共享上的用户可用的空间容量。DriveLetter&:返回某个指定本地驱动器或网络驱动器的字母,这个属性是只读的。DriveType:返回指定驱动器的磁盘类型。FileSystem:&返回指定驱动器使用的文件系统类型。FreeSpace:返回指定驱动器上或共享驱动器可用的磁盘空间,这个属性是只读的。IsReady:确定指定的驱动器是否准备好。Path&:返回指定文件、文件夹、或驱动器的路径。RootFolder&:返回一个&Folder&对象,该对象表示一个指定驱动器的根文件夹。只读属性。SerialNumber:返回用于唯一标识磁盘卷标的十进制序列号。ShareName:返回指定驱动器的网络共享名TotalSize&:以字节为单位,返回驱动器或网络共享的总空间大小。VolumeName&:设置或返回指定驱动器的卷标名。从上面的属性可以看到Drive对象基本上包含了日常操作所需的全部的驱动器信息,因此在使用中是非常方便的。下面通过一个实例讲述Drive对象的使用。首先在VB中建立一个工程,然后添加一个命令按钮,将其Caption设置为“TestDrive”,然后在click事件中加入以下代码:Dim&fsoTest&As&New&FileSystemObject&Dim&drv1&As&Drive,&sReturn&As&StringSet&drv1&=&fsoTest.GetDrive(“C:\")sReturn&=&“Drive&"&&&“C:\"&&&vbCrLfsReturn&=&sReturn&&&“VolumeName"&&&drv1.VolumeName&&&vbCrLfsReturn&=&sReturn&&&“Total&Space:&"&&&FormatNumber(drv1.TotalSize&/&1024,&0)sReturn&=&sReturn&&&“Kb"&&&vbCrLfsReturn&=&sReturn&&&“Free&Space:&"&&&FormatNumber(drv1.FreeSpace&/&1024,&0)sReturn&=&sReturn&&“Kb"&&&vbCrLfsReturn&=&sReturn&&“FileSystem:"&&&drv1.FileSystem&&&vbCrLfMsgBox&sReturn其中GetDrive方法返回一个与指定路径中的驱动器相对应的&Drive&对象。该方法的语法格式为object.GetDrive&drivespec,object是一个FSO对象的名称,drivespec用于指定驱动器的名称。按F5运行上述代码,按下TestDrive按钮就会弹出一个消息框显示C盘的信息。(三)Folder对象在FSO&对象模型中,提供了丰富的有关文件夹操作的方法,这些方法分别是:FileSystemObject对象有关文件夹的方法:CreateFolder&:创建一个文件夹&。DeleteFolder:删除一个文件夹&。MoveFolder&:移动一个文件夹&。CopyFolder:复制一个文件夹&。FolderExists:&查找一个文件夹是否在驱动器上&。GetFolder&:获得已有Folder对象的一个实例&。GetParentFolderName:&找出一个文件夹的父文件夹的名称。GetSpecialFolder:&找出系统文件夹的路径。Folder对象的方法:Delete&:创建一个文件夹&。Move&:移动一个文件夹&。Copy:复制一个文件夹。Name:检索文件夹的名称。在此需要强调一点,前面我们曾经提到过FSO对象模型包含的方法是冗余的,所以Folder对象的Delete、Move、Copy方法和FileSystemObject对象的DeleteFolder、MoveFolder、CopyFolder方法实际上是相同的,因此在实际使用中可以任选其中的一种。和Drive对象一样,下面通过实例演示Folder对象的应用。在VB下新建一个工程,然后在上面添加三个命令按钮,然后在Form1的通用部分加入以下代码:Option&ExplicitDim&fsoTest&As&New&FileSystemObjectDim&folder1&As&Folder并且分别在三个命令按钮的click事件输入以下代码:Private&Sub&CmdCreate_Click()'&获取&Folder&对象。Set&folder1&=&fsoTest.GetFolder(“C:")'创建文件夹fsoTest.CreateFolder&(“C:\Test")MsgBox&“folder&C:\Test&has&created"End&SubPrivate&Sub&CmdDelete_Click()'&获取&Drive&对象。Set&folder1&=&fsoTest.GetFolder(“C:")'删除文件夹&fsoTest.DeleteFolder&(“C:\Test")MsgBox“folder&C:\Test&has&deleted"End&SubPrivate&Sub&CmdGetPro_Click()'获取文件夹的有关信息&Dim&sReturn&As&StringSet&folder1&=&fsoTest.GetFolder(“C:\Windows")'sReturn&=&“The&folder's&Attributes&is&"&&&folder1.Attributes&&&vbCrLf'获取最近一次访问的时间sReturn&=&sReturn&&&“The&folder's&last&access&time&is&"&&&folder1.DateLastAccessed&&&vbCrLf'获取最后一次修改的时间sReturn&=&sReturn&&&“The&folder's&last&modify&time&is&"&&&folder1.DateLastModified&&&vbCrLf'获取文件夹的大小sReturn&=&sReturn&&&“The&folder's&size&is&"&&&FormatNumber(folder1.Size&/&1024,&0)sReturn&=&sReturn&&&“Kb"&&&vbCrLf'判断文件或文件夹类型sReturn&=&sReturn&&&“The&type&is&"&&&folder1.Type&&&vbCrLfMsgBox&sReturnEnd&Sub上述代码中提到的CreateFolder方法的语法形式为object.CreateFolder(foldername)。foldername指定了要创建的文件夹的名称,而DeleteFolder方法的语法形式为object.DeleteFolder&folderspec[,force],其中,folderspec用来指定要删除的文件夹的名称,force是一个可选的布尔型参数,如果希望删除只读属性的文件夹则将该值设为TRUE,默认为FALSE。至于代码中用到的&Folder&对象的属性限于篇幅,就不详细介绍了,读者可参考VB文档中的相关内容。(四)File对象和TextStream对象由于有关File对象的复制,删除,移动等操作和Folder对象类似,所以这部分内容就不再重复。这里主要讲述利用File对象和TextStream对象操作文本文件。通常对文本文件的操作包括在文本文件中创建数据,在文本文件中添加数据,删除文本文件的数据等操作。这些操作都可以通过File对象和FileSystemObject对象的相关方法完成。不过在使用之前,首先要创建一个文本文件,这可以通过三种方法完成。一种方法是使用FileSystemObject对象的&CreateTextFile&方法。要创建一个空文本文件,可以用以下语句:Dim&fsoTest&As&New&FileSystemObject,&fil1&As&FileSet&fil&1=&fsoTest.CreateTextFile(“c:\testfile.txt",&True)第二种方法是使用&FileSystemObject&对象带&ForWriting&标志设置的&OpenTextFile&方法,Dim&fsoTest&As&New&FileSystemObject,&ts1&As&New&TextStreamSet&ts1&=&fsoTest.OpenTextFile(“c:\testfile.txt",&ForWriting)第三种方法是使用File对象的带&ForWriting&标志设置的&OpenAsTextStream&方法:Dim&fsoTest&As&New&FileSystemObject,&fil&1As&File,&ts&1As&TextStreamSet&fsoTest&=&CreateObject(“Scripting.FileSystemObject")fsoTest.CreateTextFile&(“c:\testfile.txt")Set&fil1&=&fsoTest.GetFile(“c:\testfile.txt")Set&ts1&=&fil1.OpenAsTextStream(ForWriting)其中CreateTextFile方法的第一个参数用来指定,第二个参数用来指定如果磁盘上已经存在要创建的文件是否覆盖,TRUE表示覆盖,FALSE表示不覆盖,省略表示不覆盖;OpenTextFile方法的第一个参数确定要打开的文本文件,第二个参数表示对该文件进行写操作;OpenAsTextStream方法的参数和OpenTextFile方法的第二个参数含义相同。在创建了写入数据的文本之后就可以利用TextStream&对象的&Write&或&WriteLine&方法了,它们之间的区别在于&WriteLine&在指定的字符串末尾添加换行符,而Write方法没有。如果想要向文本文件中添加一个空行,可以使用&WriteBlankLines&方法。&在完成写的动作之后,用Close方法关闭打开的文本文件。如果要读取一个存在的文本文件的内容,就要用到&TextStream&对象的&Read、&ReadLine&或&ReadAll&方法;这些方法的区别是&Read:从一个文件中读取指定数量的字符&;ReadLine:读取一整行(紧跟,但不包括,换行符);&ReadAll&:读取一个文本文件的所有内容。下面在一个VB的工程中演示上述的效果。在VB中新建一个工程,然后在Form1上添加两个命令按钮,然后输入以下代码:Private&Sub&CmdRead_Click()Dim&fsoTest&As&New&FileSystemObject,&file1&As&File,&ts&As&TextStream,&s&As&StringSet&file1&=&fsoTest.GetFile(“C:\testfile.txt")Set&ts&=&file1.OpenAsTextStream(ForReading)'读取一行s&=&ts.ReadLineMsgBox&sts.CloseEnd&SubPrivate&Sub&CmdWrite_Click()Dim&txtfile&As&File,&ts&As&TextStreamSet&txtfile&=&fsoTest.GetFile(“c:\testfile.txt")Set&ts&=&txtfile.OpenAsTextStream(ForWriting)'使用Write方法写入一行。ts.Write&(“This&is&only&a&Test")'&写入一行带有换行符的文本。ts.WriteLine&(“Testing&1,&2,&3.")'&向文件中写入三个换行符。ts.WriteBlankLines&(3)ts.CloseEnd&Sub在这里我们假设已经在磁盘上建立了一个名为testfile.txt的文件。在按下F5运行时,先单击Write写入数据,然后按下Read读取数据。三、结束语通过上面的介绍,我们可以看到FSO对象模型的确在传统的文件操作语句之外,提供了一种更方便,功能更强大的访问文件的操作方法。不过,我们还需要注意到FSO对象模型目前还不完善,当前使用的FSO对象模型还不支持创建随机文件或二进制文件。要创建随机文件和二进制文件,仍然要使用带&Random&或&Binary&标志的&Open&命令。但从目前FSO对象模型的实际应用来看,我们仍然可以将FSO对象模型作为一种比较简便的文件操作解决方案。
------Solutions------
如何读/写&Binary&File'以下是读取Binary&file的程式Dim&Buff()&as&ByteOpen&"d:\csys\8504\ctc"&For&Binary&Access&Read&As&#1ReDim&Buff(267)Do&While&Not&EOF(1)&&&Get&#1,&,&Buff&&'每次读268个byte进来&&&'Call&处理Buff&的RoutineLoopClose&#1'以下是写入Binary&file的程式Dim&Buff()&As&ByteOpen&"c:\tc"&For&Binary&Access&Write&As&#1ReDim&Buff(10)Buff&=&StrConv("这是一个11",&vbFromUnicode)Put&#1,&,&BuffReDim&Buff(1)Buff(0)&=&210Buff(1)&=&70Put&#1,&,&BuffClose&#1End&Sub
------Solutions------
哪位高手写个例子好吗?
------Solutions------
既然是一行一行的,那直接就以换行来区分嘛........dim&Buff&as&string,LineBuff()&as&stringopen&"xxx.txt"&for&binary&as&#1&&&&buff=space(lof(1))&&&&get&#1,,buffcloase&#1linebuff()=split(buff,vbcrlf)&&&&&'这里的vbcrlf需要具体拿到你的文件的二进制格式才能确认是什么debug.print&linebuff(1)&&&&'要哪一行,就直接取得取得行后,再看看每列的分隔规律是什么,空格?vbTab?再使用split就能分出来.
------Solutions------
我会用split分出每行数据,我现在想知道我在读取文本时怎样在读取字符串“PCM-TSL&&SUB_TSL&&TYPE&&&&&&&&&&&&I.LEV&&&&&&&&ADM.STATE&&&&&&OP.STATE&&&&&&CH.STATUS&”时,跳过分隔符行,获取我需求的数据行,然后在读取到“SCEIVER&HAS&NO&INTERFERING&CELLS&”时结束获取数据,类似这样的读取操作随着条件不同有很多,请帮忙写个例子
------Solutions------
open&"c:\log.txt"&for&input&#1line&input&#1&,temp'让过第一行不要line&input&#1&,temp'让过第二行不要do&while&not&eof(1)&&&&line&input&#1,temp'第三行开始取数据&&&&if&temp="指定字符"&then&exit&do&&&&...loopclose&#1&&&&&
------Solutions------
Open&"c:\log.txt"&For&Input&As&#1Line&Input&#1,&tempLine&Input&#1,&tempDo&While&Not&EOF(1)&&&&Line&Input&#1,&temp&&&&If&temp&=&"指定字符"&Then&Exit&Do&&&&...Loop&&&
------Solutions------
引用&14&楼&lansiluo&的回复:我会用split分出每行数据,我现在想知道我在读取文本时怎样在读取字符串“PCM-TSL?&SUB_TSL?&TYPE?&?&?&?&?&?&I.LEV?&?&?&?&ADM.STATE?&?&?&OP.STATE?&?&?&CH.STATUS&”时,跳过分隔符行,获取我需求的数据行,然后在读取到“SCEIVER&HAS&NO&INTERFERING&CELLS&”时结束获取数据,类似这样的读取操?-汗,既然都会使用split按行分,为什么就不会用它进行按列分呢?
------Solutions------
引用&8&楼&lansiluo&的回复:我写的例子是log文件中的一段内容,并不是从文件第一行开始汗,不早说open&"d:\aa.log"&for&input&as&#1&do&while&not&eof(1)&&&line&input&#1,s&&&if&left(s,7)="PCM-TSL"&then&bStart=true&&if&bStart=true&then&i=i+1&&&if&i&2&then&&&&&if&s=&"SCEIVER&HAS&NO&INTERFERING&CELLS"&then&&&&&&&&&exit&do&&&&&else&&&&&&&&&t=t+s+vbcrlf&&&&&end&if&&&end&if&loop&close&#1&text1.text=&t
------Solutions------
------Solutions------
请问:如果我想读取两个*之间的数据,并计算该文本的行数及列数?
------Solutions------
希望对自己有帮助。。}

我要回帖

更多关于 vb.net 读取txt 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信