我有一个~8MB的文件,我想分开。该文件的结构如下:
XYZ DATA
File01
...
...
...
XYZ DATA
File02
...
在这个文件中,我有~50个所谓的标题,即XYZ DATA File01
,依此类推。在这些标题之间是未定义的文本量。我想在单个文件中拆分每个标题+后面的文本。因此我正在寻找XYZ DATA
,因为它总是在原始文件中重复。每个新文件的文件名应与XYZ DATA
之后第二行中的字符串匹配。
我能够使用XYZ DATA
识别行,但后来我只知道如何将此行写入新文件,但我想写一切从XYZ DATA
开始到下一个{{ 1}}到一个新文件。
对我来说,这是一件很难的事情。我不想在这里有完整的代码,我想要一些提示。有谁知道我必须做什么。也许是我可以查找的教程?
答案 0 :(得分:0)
你应该有一个状态变量。变量可以具有三种状态之一(可以是表示状态的整数值)
在循环浏览文件时,将状态变量设置为状态。最初它是"开始"。当您读取XYZ DATA行时,将状态设置为" new file" (状态可以是整数,某些值如2表示"新文件"。当您将状态设置为"新文件"时,保存该行,如果状态当前不是& #34;开始"然后关闭输出文件。当你读一行并且状态是"新文件"将状态设置为"处理"并使用string split命令来获取该行的第一个字段。使用该文件名打开文件并写入保存的XYZ行和当前行。循环后关闭打开的文件。