- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑使用 SuperCSV 检查我收到的一些文件的内容。文件的格式是这样的,它有一个标题记录,后面是数据记录,然后是 CRC32 校验和值。
例如
ABC|2|20130115150327|
1|1234567890123456|1234|20130109204710|21130109204710|
2|6543210987654321|1234|20130110043658|21130110043658|
1A345C7D
我对 SuperCSV 在这种情况下的功能有几个疑问。
最佳答案
- Does it allow you to validate different lines against different definitions i.e. one for the header record and one for the data records?
是的。通常,您会使用 getHeader()
读取 header ,它不使用 CellProcessors,但是没有什么可以阻止您使用 read()
使用 CellProcessors。每次调用
read()
时,您都可以传入 CellProcessor,因此您可以使用 3 个不同的 CellProcessor 数组以不同方式处理/验证 header 、数据行和校验和。
- Does it allow you to validate that the delimiter (pipe '|' in this case) must be appended to the end of the line?
当您使用 |
作为分隔符时,最后一列将被视为空列 (null
)。这意味着您用于读取标题的 CellProcessor 数组必须有 4 个元素(或 6 个用于数据行),否则您将得到一个异常,指出列数与单元处理器的数量不匹配。通过在末尾放置一个 new Equals(null)
处理器,您基本上可以验证该行是否以 |
结尾。
- Is there, or has anybody written, a CellProcessor that validates hexadecimal values?
您可以使用现有的单元格处理器 new StrRegex("[0-9A-F]+")
来使用正则表达式进行验证。您甚至可以使用 StrRegex.registerMessage() 为验证错误注册一条人类可读的消息(例如“不是有效的十六进制值”) .
如果您想将十六进制解析为数字(可能不会,但以防万一),那么 Super CSV 中没有现有的 ParseHex
CellProcessor。如果您编写一个并提交补丁,我会将其包含在即将发布的版本中!根据数字的大小,也许最好更新 ParseLong有另一个接受基数(在本例中为 16)的构造函数?
我建议保持简单并使用 CsvListReader (您可以使用其他阅读器,但您需要定义一个 nameMapping 数组来为标题、数据和校验和行提供列名)如下所示:
使用“header”CellProcessor 数组读取第一行(我假设第二列是后续数据行的数量?)。
使用“数据”CellProcessor 数组读取数据行 n 次(其中 n 由第二个标题列给出)。
使用“校验和”CellProcessor 数组读取校验和(可能只是一个 ParseChecksum()
)。
关于supercsv - SuperCSV 的能力,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14328668/
我到处搜索 .net 3.0 和 3.5 框架的内容列表,因为我一直在使用哈希表等旧技术而不是字典(较新的技术)进行编程。 我一直在犹豫,想知道在哪里可以找到 C# 和 .Net 框架的所有最新功能的
你好我有一个非常不寻常的问题,因为我认为在我的情况下工作流运行时没有使用足够的 CPU 能力。场景如下: 我向队列发送了很多消息。我使用 WorkflowRuntime 类中的 EnqueueItem
我正在为 OSX 图像处理应用程序编写一个插件接口(interface)。它的设计理念是插件应该尽可能简单,以便开发人员可以在看到示例代码后几分钟内进入并编写效果。为此,这些示例不需要或使用 XCod
...或者必须抛出异常才能影响性能? 引用已接受的答案here .这是我想要实现的东西,如果以这种方式创建实例不会使事情变得非常慢的话。 (我每秒要创建数千个对象,粒子系统等。所以不,考虑到在 Jav
我必须开发 C API 来通过 UI APPLICATION 使用重启功能而不是系统调用和 exec 功能来关闭 linux 系统。 This reboot link说为了运行这个函数调用者必须有 C
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
Droid SDK 是否支持手指在屏幕上滑动返回上一屏幕,而不是使用返回键? 最佳答案 我假设你的意思是“滑动”作为 i-phone 的解锁系统。 返回上一屏幕没有内置任何东西..用于实现手指检测实现
我无法理解 Michael Hartl 的 Ruby on Rails 教程中“记住我”的实现。他创建了一个带有登录方法的 SessionsHelper 模块,其中包含以下内容: module Ses
近日,华为 分析服务 6.9.0版本发布,正式上线 探索能力 。开发者可自由定义与配置分析模型,支持报告实时预览,数据洞察体验更加灵活与便捷. 新上线的探索能力中,有漏斗分析、事件归因、会话路径分析
给定一个带有属性“日期”的 Rails 模型“Widget”,是否可以在要求日期晚于当前时间的 CanCan 操作授权上设置条件? documentation显示如何指定数字属性的范围: can :r
我有兴趣将 CPU 密集型 Web 应用部署到 Azure 应用服务实例。我找不到有关 Azure 应用服务的 CPU 使用率和/或限制的任何详细信息。我担心的是,如果不深入了解应用程序的 CPU 规
我的场景: 我导航到登录页面。我输入了一个已知的用户名和一个错误的密码。ZAP 没有发现任何问题。 我选择 POST 到登录页面。我找到包含用户名和密码的行。密码:ctl00%24ContentPla
我是 Laravel 的新手,我曾经在 codeigniter 上工作。我对 Eloquent ORM 的概念着迷。我有一个关于 Eloquent 能力的一般性问题。ORM的能力是什么,我的意思是我们
我正在尝试运行 Java Jetty 应用程序,但我一直看到此错误: Caused by: org.postgresql.util.PSQLException: ERROR: function cry
我正在创建一个 UITableView,我将在其中加载并显示博客提要中的数据。该数据将每天、在启动时或动态更新。 我想要做的是为此屏幕提供一些离线功能,这样如果用户没有连接到互联网,他仍然可以看到 V
我使用 ChromeDriver 2.33 和 WebDriver 3.6.0 并尝试设置文件下载的默认目录。 Map prefs = new HashMap(); prefs.put("downlo
我想知道 Java 是否有任何方法可以提示用户输入管理密码,就像他们使用 sudo 时那样,这样我就可以在 Java 程序中运行命令,而不必对系统或 Sudoers。我已经看到在 Python 中完成
Apple Pay 权利/能力仅在 App Store 中有效。我将在 App Store 和 Enterprise 中发布此应用。 如果选择了 App Store Release 方案,我希望 Xc
我正在研究 termcap 库。我正在尝试在终端中做一个行编辑器。我有一个可以在线移动的光标。一条线一切都很好。但是,如果我的行大于终端宽度,我无法使用 le 命令(将光标向左移动)将光标从第二行返回
我有时用 Java 编写代码,我注意到有时它在多核机器上使用超过 100% 的 CPU。我现在在一台有 33 个 CPU(亚马逊的 EC2)的多核机器上运行一些代码,我想让我的 Java 进程使用所有
我是一名优秀的程序员,十分优秀!