我正在制作一个程序,用于从mysql表格中的txt文件加载数据。我将创建具有特定字段的表格,然后从其中的txt文件加载数据。我正在使用java来完成这个程序。如何处理txt文件中的空格/制表符
我所写的是如下:
private static String importData(Connection con, File txtFile,
String tablename) {
try {
Statement stmt;
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String path = txtFile.getAbsolutePath();
String importingdata = "LOAD DATA INFILE '"
+ path.replace('\\', '/')
+ "' INTO TABLE " + tablename
+ " FIELDS TERMINATED BY '\t'";
System.out.println("fill the table");
stmt.executeUpdate(importingdata);
} catch (Exception e) {
System.out.println(((SQLException) e).getSQLState());
System.out.println(e.getMessage());
e.printStackTrace();
}
return null;
}
但是在这个代码,你可以看到我已经说的字段由制表终止。 如果文本文件中的列被空格和制表符分隔的数字未知,该怎么办?
例如在该图象中所示的文本:
第一列与所述第二被一个标签,3位及从第三塔2个空间中的第二塔中分离。 我所有的文本文件都有特定的字段,但它们之间的空格不明。有没有办法读取所有这些空间,直到找到包含数据的下一列?
使用OpenCSV,它可以处理这样的数据 – fge
不,我的目的是处理这样的文件。我的程序应该读取这些文件。 – dedmar
嗯,是的!这就是我说的!使用OpenCSV库,不要重新开发轮子! – fge