J
JavaBeginnerDeluxe
Hallo,
ich wuerde gerne das Ergebnis einer SQL-Abfrage (ResultSet) als Textdatei abspeichern.
Diesbezueglich habe ich hier im Forum schon etwas aufgeschnappt, jedoch besteht da noch ein kleines Problem.
Nachdem die Textdatei abgespeichert wurde, sind im Text noch eckige Klammern ( - wegen der Array-Liste ?) zu sehen. Diese wuerde ich gerne loswerden.
Wahrscheinlich liegt es daran, dass ich auf dem Terminal, auf dem ich arbeite, nicht casten kann, weil die Java-Version veraltet ist (ArrayList<String>row = new <String> ArrayList() -->geht nur ohne <String> -Cast bei mir).
Ich waere euch sehr verbunden, wenn ihr mir weiterhelfen koenntet.
Hier das Code-Fragment, das ich mir zusammengebastelt habe :
ich wuerde gerne das Ergebnis einer SQL-Abfrage (ResultSet) als Textdatei abspeichern.
Diesbezueglich habe ich hier im Forum schon etwas aufgeschnappt, jedoch besteht da noch ein kleines Problem.
Nachdem die Textdatei abgespeichert wurde, sind im Text noch eckige Klammern ( - wegen der Array-Liste ?) zu sehen. Diese wuerde ich gerne loswerden.
Wahrscheinlich liegt es daran, dass ich auf dem Terminal, auf dem ich arbeite, nicht casten kann, weil die Java-Version veraltet ist (ArrayList<String>row = new <String> ArrayList() -->geht nur ohne <String> -Cast bei mir).
Ich waere euch sehr verbunden, wenn ihr mir weiterhelfen koenntet.
Hier das Code-Fragment, das ich mir zusammengebastelt habe :
Java:
import java.io.*;
import java.sql.*;
import java.util.*;
import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;
public class ResultSetWriter {
public static void main(String[] args) throws Exception {
MysqlDataSource mds = new MysqlDataSource();
mds.setUser("x");
mds.setPassword("x");
mds.setServerName("x");
mds.setPort(x);
mds.setDatabaseName("x");
Connection con = mds.getConnection();
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("Die SELECT-Abfrage");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
List rows = new ArrayList();
while (rs.next()){
ArrayList row = new ArrayList();
for (int i = 1; i <= columnCount ; i++){
row.add(rs.getString(i));
}
rows.add(row);
}
rs.close();
stmt.close();
con.close();
outputListToFile(rows, new File("Pfad zur Textdatei"));
}
private static void outputListToFile(List list, File file) {
try {
PrintWriter printWriter = new PrintWriter(new FileWriter(file));
Iterator iter = list.iterator();
while(iter.hasNext() ) {
Object o = iter.next();
printWriter.println(o);
}
printWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}