将表格内容转储为 ASCII 格式的表格字符串的简单方法?
Posted
技术标签:
【中文标题】将表格内容转储为 ASCII 格式的表格字符串的简单方法?【英文标题】:Easy way to dump a table's contents to a ASCII formatted table string? 【发布时间】:2011-10-10 13:42:07 【问题描述】:我正在 Java 平台上调试一些数据库代码,将数据库表的各个点的内容转储到日志文件会很方便。
是否有一个 java 库可以接受一个 JDBC 连接和一个表名并将所有内容转储到一个字符串(理想情况下正确格式化为列)?
输出应该类似于:
| col1 | col2 | | 22 | 55 | | 23 | 99 |我知道我可以自己写这个,但感觉就像可能已经存在的那种东西。但是经过大量搜索后,我什么也没看到。
也会对任何用于格式化 ASCI 表的 java 库感兴趣,因为我可能必须自己解决问题。
【问题讨论】:
另见***.com/a/31887249/32453 【参考方案1】:您不需要 Java。检查您的数据库是否有类似以下命令(适用于 mysql):
SELECT * INTO OUTFILE '/my_table.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_table;
编辑: 如果您使用 Excel 等电子表格阅读器打开文件,数据将被排列。否则,不会。为了准确排列 ASCII 文件的列,我知道的唯一方法是检查每个字段的长度并在必要时添加空格。
我不知道 Java 库会做这些事情。但实施起来应该不会特别困难。只是有点乏味……
【讨论】:
这会给我排列整齐的列吗?在某些情况下,这可能对我有用,但我有 2 个数据库随时可用(Orical 和 Derby),所以可能需要两次执行 db 特定解决方案......我仍然坚持只使用 JDBC/java 解决方案。跨度> 【参考方案2】:DbUnit 具有从XML 表单导入和export 数据库表的方法。您必须自己添加代码才能将其写入文件。
【讨论】:
谢谢,但我不会 xml。我不会提供供人类阅读的 asci 数据表。 你不会还是不想? 文本供人类而非计算机使用,因此我的(更新的)问题中显示的格式将是最传统的。将其转储到日志文件的代码没有问题。以上是关于将表格内容转储为 ASCII 格式的表格字符串的简单方法?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将Postgres DDL转储到可粘贴到Google表格中的CSV中?
将扩展的 Ascii“表格”代码(例如 ─、┬)从 Php 脚本打印到控制台时出现问题