0

我正在尝试开发一个软件,用户将在其中打开一个填充数据的 txt 文件。
我想读取数据,但我不知道 txt 文件是分隔字段还是固定字段,如果是分隔字段分隔符(, 或 ; 或 / 等)或行分隔符(CR+LF 或 CR 或 CF ETC)。
如果我知道所有这些,我就知道如何读取文件,但是我可以自动找出这些特征吗?谢谢

4

2 回答 2

1

您可以做出一个很好的猜测:查看文件以获取灵感。

例如:

  1. 读取一大块数据(选择一些足够大的数据,它应该包含一整行)
  2. 扫描 CR、LF、可能的分隔符和空格
  3. 它有 CR+LF 吗?他们一直在一起吗?
  4. 你找到任何分隔符了吗?如果你发现不止一个,你能看到任何模式吗?
  5. 您是否发现空格的运行总是在连续行的同一列结束?

等等等等

于 2013-05-15T14:46:59.650 回答
0

您可以阅读该文件并做出一些有根据的猜测。

有 CR/LF 吗?

如果不是,它很可能是固定长度,谁会指定另一个行分隔符。

如果是这样,请阅读所有行并单独计算所有字符的数量。

是否有一个字符在每一行出现相同的次数?如果是这样,它可能是字段分隔符。如果不是,它可能是固定长度的字段。

如果它是固定长度的字段,则使用统计信息构建一行。对于每个字符,所有行中的空白百分比和所有行中的非空白百分比是多少?找到索引从非常高的空白百分比跳到非常低的空白百分比的点,这很可能是一个字段边界(最后一个字段以空白结尾,因为它不是“完整的”,下一个以非空白,因为它已填充。)

于 2013-05-15T14:48:22.460 回答