[英]CSV , JAVA & HSQLDB
我在Java编程中真的很新
我想问一下在Java中读取CSV,然后将其上传到HSQLDB的问题 。 我一直在阅读并尝试通过教程解决方案的示例,但仍然不是很了解。 从我的阅读中, 大多数建议使用OpenCSV,但
下面是例子
B03BB510001T2001,儿童可咀嚼的多种维生素*,“”泛酸7.5毫克“,” PARA氨基苯甲酸(PABA)250MCG“,”叶酸30MCG“,”生物素50MCG“,”硫胺酸+ B6 + B12 6.6“ MG,“” CHOLINE 1MG“,”维生素A +维生素E +维生素C参考文件“,” INOSITOL 1MG“”,“”平板电脑咀嚼“” ,, B03,registered,75MG“
但是我希望它显示在一行中
**我只熟悉使用PHP和MYSQL从CSV读取并上传到数据库而不是java&hsqldb
希望您能提出建议并帮助我。
这是一个示例脚本,我已使用它在每个目录中将数据加载到HSQL中。 您将需要有一个持久数据库才能使用文本表。 如果您在数据库管理器中运行,则只需一次复制并执行一条语句。 您还可以使用sqltool(sql脚本与DB在同一文件夹中):
\i demotexttable.sql
这是demotexttable.sql
/* file.txt needs to be in the same folder as the database
first line of file is a header, others lines are data
--start file.txt
Col1|Col2|Col3
abcdef|My Company Name|0
--end file.txt
*/
--create the schema
create schema imp;
--create the normal table
create cached table imp.normalTable (
Col1 char(6),
Col2 nvarchar(200),
Col3 int
);
--create the table that table
create text table imp.textfiletable (
Col1 char(6),
Col2 nvarchar(200),
Col3 int
);
--setup the text file table
set table imp.textfiletable source "file.txt;ignore_first=true;fs=|";
--insert data from text file into the `normal` table
INSERT INTO imp.normalTable (Col1, Col2, Col3) select Col1, Col2, Col3 from imp.textfiletable;
--we are done with the text file table
drop table imp.textfiletable;
commit;
我在较早的帖子中发现了一些错误,我已在此最新版本中对其进行了清理。
您可以将CSV文件直接加载到HSQLDB中。
有两种不同的方式:
详细信息请参见此处:
http://hsqldb.org/doc/2.0/guide/texttables-chapt.html
http://hsqldb.org/doc/2.0/util-guide/sqltool-chapt.html#sqltool_csv-sect
如您所知,CSV只是“逗号分隔值”。 其他人建议使用OpenCSV的原因是因为它具有商业上友好的许可证。 尽管除此之外,可以使用常规方法来检索值,但可以使用FileInputStream读取值,请找到链接:
http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
之后,使用定界符解析单个String。 例如:String []令牌= WholeString.split(delimiter);
现在只需通过使用java.sql软件包使用jdbc连接就可以轻松地将值存储在hsql数据库中。请查看链接:
http://www.hsqldb.org/doc/guide/apb.html
希望这可以帮助你; 问候,
阿南德
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.