我正在製作一個程序,用於從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