我制作了一个 Web 应用程序来上传 tsv 文件
- JDK-> 1.4
- 支柱 -> 1
- 树脂 -> 3.0.9
使用 "\t","\n","\r" 解析的 TSV 文件
验证是。
1. 文件名是否符合命名约定?
2. 是 TSV 文件吗?
我应该如何验证类似于 TSV 的图片或 Office 文档?
我制作了一个 Web 应用程序来上传 tsv 文件
使用 "\t","\n","\r" 解析的 TSV 文件
验证是。
1. 文件名是否符合命名约定?
2. 是 TSV 文件吗?
我应该如何验证类似于 TSV 的图片或 Office 文档?
这取决于您对 TSV 文件的定义。
他们都有相同数量的列吗?还是可以省略最后的空列?
如果它们都有相同数量的列,那么您可以对其进行第一次验证。如果失败,那么您知道该文件无效。
他们都有标题行吗?如果是这样,您可以使用它来回答上述问题并验证文件解析。
是否允许引用?如果是这样,是否允许在引号上放置回车或制表符?(不一定有助于验证,但你必须在解析时考虑它)
你的文字是严格的文字吗?您可以测试不可打印的字符并在此基础上拒绝它。再次注意用于文件的字符编码(UTF 与 ASCII 等)。这可以放在将平面文件第一次解析为数据结构(例如地图列表)的代码中。
进一步钻取文件本身,如果它是固定格式或某些数据的类型已知,您可以制作辅助解析器来验证此数据(日期、时间戳或其他固定格式字符串)。当您发现有关内容的更多信息并正在处理来自上述结构的数据时,可以完成第二级。
以上都是经验分析,因此您必须预计误报会下降,但如果您选择条目文件必须遵守的规则,则不应发生误报。因此,整个处理堆栈都希望遇到无效数据并准备使整个文件输入无效,换句话说,永远不要假设所做的测试可以完全保证文件是正确的。
我希望这有帮助。