我在java编程中真的很新
我想问一下在java中读取 CSV然后将其上传到HSQLDB 。 我一直在阅读和阅读通过教程尝试解决方案的例子,但仍然没有真正理解。 根据我的阅读材料,大多数建议使用OpenCSV ,但
下面是示例
B03BB510001T2001,儿童可用的多维生素*,“”PANTOTHENIC ACID 7.5MG,“ “PARA AMINO BENZOIC ACID(PABA)250MCG,” “FOLIC ACID 30MCG,” “BIOTIN 50MCG,” “THIAMINE MONO-NITRATE + B6 + B12 6.6MG,” “CHOLINE 1MG” “VIT A + VIT E + VIT C REFER FILE,” “INOSITOL 1MG”“,,”“TABLET,CHEWABLE”“,,,, B03,REGISTERED,75MG”
但我希望它以单行
显示**我只熟悉阅读&使用PHP& amp;从csv上传到数据库MYSQL不是java& hsqldb
希望你能建议&帮助我。
答案 0 :(得分:4)
以下是我用于将数据加载到每个fredt的HSQL中的示例脚本。您需要具有持久性DB才能使用文本表。如果在数据库管理器中运行,则一次只复制并执行一个语句。您还可以使用sqltool(sql脚本与数据库位于同一文件夹中):
\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;
我在之前的帖子中发现了一些错误,我已经在最新版本中清理了它们。
答案 1 :(得分:2)
您可以将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
答案 2 :(得分:0)
如您所知,CSV只不过是“逗号分隔值”。其他人提出OpenCSV的原因是因为它拥有商业友好许可证。虽然除此之外可以使用常规方法来检索值。这是使用FileInputStream读取值。请找到链接:
http://www.roseindia.net/java/beginners/java-read-file-line-by-line.shtml
之后使用分隔符解析单个String。 例如:String [] tokens = wholeString.split(delimiter);
现在只需通过使用java.sql包使用jdbc连接,就可以轻松地将值存储在hsql数据库中。请查看链接:
http://www.hsqldb.org/doc/guide/apb.html
希望这会帮助你; 的问候,
阿南德