【问题标题】:Validation of TSV file in Java在 Java 中验证 TSV 文件
【发布时间】:2009-07-23 05:00:24
【问题描述】:

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

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

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

验证是。

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

 2. 是TSV文件吗?

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

【问题讨论】:

  • ad 2) 能够读取文件就够了吗?

标签: java csv struts file-format


【解决方案1】:

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

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

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

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

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

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

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

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

我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    相关资源
    最近更新 更多