Ich verwende CsvJdbc (es ist ein JDBC-Treiber für CSV-Dateien), um auf eine CSV-Datei zuzugreifen. Ich weiß nicht, wie viele Spalten die CSV-Datei enthält. Wie kann ich die Anzahl der Spalten ermitteln? Gibt es dafür eine JDBC-Funktion? Ich kann keine Methoden dafür in java.sql.ResultSet finden.
Für den Zugriff auf die Datei verwende ich Code ähnlich dem Beispiel auf der CsvJdbc-Website.
ResultSetMetaData
Implementierung CSV-Datensätze mit variabler Länge verarbeiten. Wenn Sie beispielsweise angegeben habenSELECT * FROM sample
und jede Zeile eine andere Anzahl von Feldern enthält, wird die Spaltenanzahl für jede Zeile, die wiederholt wurde, neu bewertet?quelle
rs.getMetaData()
Methode teuer? Fragt es die Datenbank jedes Mal ab, wenn sie aufgerufen wird oder nicht?rs.getMetaData()
Anruf kann intensiv sein; Sobald Sie das Objekt haben, werdenrsmd
normalerweise keine zusätzlichen Aufrufe an die Datenbank ausgeführt, wenn Methoden für das Metadatenobjekt aufgerufen werden. Alle Metadaten werden mit dem Aufruf getMetaData gefüllt.Anzahl der Spalten in der Ergebnismenge, die Sie mit Code erhalten können (da DB PostgreSQL verwendet wird):
Sie können jedoch weitere Meta-Informationen zu Spalten erhalten:
Und zumindest aber nicht zuletzt können Sie einige Informationen nicht nur über die Tabelle, sondern auch über die DB erhalten. Wie das geht, finden Sie hier und hier .
quelle
Versuchen Sie Folgendes, nachdem Sie die Verbindung hergestellt und die Abfrage ausgeführt haben:
quelle
Dadurch werden die Daten in Spalten gedruckt und eine neue Zeile angezeigt, sobald die letzte Spalte erreicht ist.
quelle