0

我制作了一个 Web 应用程序来上传 tsv 文件

  1. JDK-> 1.4
  2. 支柱 -> 1
  3. 树脂 -> 3.0.9

使用 "\t","\n","\r" 解析的 TSV 文件

验证是。

 1. 文件名是否符合命名约定?

 2. 是 TSV 文件吗?

我应该如何验证类似于 TSV 的图片或 Office 文档?

4

1 回答 1

1

这取决于您对 TSV 文件的定义。

他们都有相同数量的列吗?还是可以省略最后的空列?

如果它们都有相同数量的列,那么您可以对其进行第一次验证。如果失败,那么您知道该文件无效。

他们都有标题行吗?如果是这样,您可以使用它来回答上述问题并验证文件解析。

是否允许引用?如果是这样,是否允许在引号上放置回车或制表符?(不一定有助于验证,但你必须在解析时考虑它)

你的文字是严格的文字吗?您可以测试不可打印的字符并在此基础上拒绝它。再次注意用于文件的字符编码(UTF 与 ASCII 等)。这可以放在将平面文件第一次解析为数据结构(例如地图列表)的代码中。

进一步钻取文件本身,如果它是固定格式或某些数据的类型已知,您可以制作辅助解析器来验证此数据(日期、时间戳或其他固定格式字符串)。当您发现有关内容的更多信息并正在处理来自上述结构的数据时,可以完成第二级。

以上都是经验分析,因此您必须预计误报会下降,但如果您选择条目文件必须遵守的规则,则不应发生误报。因此,整个处理堆栈都希望遇到无效数据并准备使整个文件输入无效,换句话说,永远不要假设所做的测试可以完全保证文件是正确的。

我希望这有帮助。

于 2009-07-23T05:44:45.913 回答