我需要使用自定义文件格式导入ascii文件。
一些数据存储在块中,带有起始块和结束块。其他数据存储时没有块分隔符。
一个例子是:
的 $表
S posx posy dimx dimy
表单标签列表
$ EndSheet
另一个是:
文字笔记 posx posy orientation维度〜
文本
现在将这些数据导入某种结构的最佳/最通用方法是什么?
问候
Jakob Justesen
答案 0 :(得分:1)
您将需要读取一行:如果它是块启动,则切换到将处理块读取的方法。如果不是,则交给一个处理非块读取的方法。
最“通用”的方法是使用工厂方法返回必需的Reader类。一些伪代码可能如下所示:
Open [File]
while not EOF
Read [Line]
var [Reader] = ReaderFactory.GetReader([Line])
var [Record] = [Reader].Read([File])
Do what you want with record
wend
Close [File]
您如何表示我作为练习留给您的不同记录类型:)