TextFieldParser 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供分析结构化文本文件的方法和属性。
public ref class TextFieldParser : IDisposable
public class TextFieldParser : IDisposable
type TextFieldParser = class
interface IDisposable
Public Class TextFieldParser
Implements IDisposable
- 继承
-
TextFieldParser
- 实现
示例
此示例通过制表符分隔的文本文件 Bigfile
进行分析。
Using MyReader As New Microsoft.VisualBasic.FileIO.
TextFieldParser("c:\logs\bigfile")
MyReader.TextFieldType =
Microsoft.VisualBasic.FileIO.FieldType.Delimited
MyReader.Delimiters = New String() {vbTab}
Dim currentRow As String()
'Loop through all of the fields in the file.
'If any lines are corrupt, report an error and continue parsing.
While Not MyReader.EndOfData
Try
currentRow = MyReader.ReadFields()
' Include code here to handle the row.
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox("Line " & ex.Message &
" is invalid. Skipping")
End Try
End While
End Using
注解
对象 TextFieldParser
提供用于分析结构化文本文件的方法和属性。 使用 TextFieldParser
分析文本文件类似于循环访问文本文件,而使用 ReadFields
方法提取文本字段类似于拆分字符串。
TextFieldParser
可以分析两种类型的文件:带分隔符或固定宽度的文件。 某些属性(如 Delimiters
和 HasFieldsEnclosedInQuotes
)仅在使用带分隔符的文件时有意义,而 FieldWidths
属性仅在处理固定宽度文件时有意义。
下表列出了涉及 Microsoft.VisualBasic.FileIO.TextFieldParser
对象的任务示例。
功能 | 查看 |
---|---|
从带分隔符的文本文件读取 | 如何:读取逗号分隔的文本文件 |
从固定宽度的文本文件中读取 | 如何:读取固定宽度的文本文件 |
从具有多种格式的文本文件中读取 | 如何:读取具有多种格式的文本文件 |
构造函数
TextFieldParser(Stream, Encoding, Boolean, Boolean) |
初始化 |
TextFieldParser(Stream, Encoding, Boolean) |
初始化 |
TextFieldParser(Stream, Encoding) |
初始化 |
TextFieldParser(Stream) |
初始化 |
TextFieldParser(String, Encoding, Boolean) |
初始化 |
TextFieldParser(String, Encoding) |
初始化 |
TextFieldParser(String) |
初始化 |
TextFieldParser(TextReader) |
初始化 |
属性
CommentTokens |
定义注释标记。 注释标记是一个字符串,当位于行首时,指示该行是一个注释并且分析器应该忽略该行。 |
Delimiters |
定义文本文件的分隔符。 |
EndOfData |
如果在当前光标位置到文件末尾之间没有非空、非注释行,则返回 |
ErrorLine |
返回导致最近发生的 MalformedLineException 异常的行。 |
ErrorLineNumber |
返回导致最近发生的 MalformedLineException 异常的行的行号。 |
FieldWidths |
表示正在分析的文本文件中每一列的宽度。 |
HasFieldsEnclosedInQuotes |
指示在分析分隔的文件时是否用引号将字段括起来。 |
LineNumber |
返回当前行号,如果流中没有更多字符,则返回 -1。 |
TextFieldType |
指定要分析的文件是分隔的还是固定宽度的。 |
TrimWhiteSpace |
指示是否应移除字段值中的前导和尾随空白。 |
方法
Close() |
关闭当前的 |
Dispose() |
释放由 TextFieldParser 对象使用的资源。 |
Dispose(Boolean) |
释放由 TextFieldParser 对象使用的资源。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
Finalize() |
允许 TextFieldParser 对象在由垃圾回收功能回收之前尝试释放资源并执行其他清理操作。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
PeekChars(Int32) |
读取指定数目的字符但不前移光标。 |
ReadFields() |
读取当前行的所有字段,以字符串数组的形式返回这些字段,并将光标前进到包含数据的下一行。 |
ReadLine() |
将当前行作为字符串返回,并将光标前进到下一行。 |
ReadToEnd() |
读取文本文件的其余部分并作为一个字符串返回。 |
SetDelimiters(String[]) |
将读取器的分隔符设为指定的值,并将字段类型设为 |
SetFieldWidths(Int32[]) |
将读取器的分隔符设置为指定值。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
IDisposable.Dispose() |
释放由 TextFieldParser 对象使用的资源。 |