czy jest możliwe użycie javy do wkopiowania danych do bazy z pliku tekstowego za pomocą copy??
Jeśli tak, to jak to zrobić?
Połączenie z bazą danych mam za pomocą sterownika jdbc postgres.
edit:
Już mam.
import java.io.*;
import java.sql.*;
import org.postgresql.*;
public class Superclass {
/**
* @param args
*/
static Connection cn;
static StringBuffer strbuff;
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
Class.forName("org.postgresql.Driver");
strbuff = new StringBuffer();
cn = DriverManager.getConnection("jdbc:postgresql:dair_web",
"dair",
"dair");
File inFile = new File("/home/michal/Desktop/plik.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(inFile))); // mamy plik do zczytywania
BufferedWriter brout = new BufferedWriter(new FileWriter("/home/michal/Desktop/plik_new.txt"));// strumień do przetworzonego pliku
String linia;
int a=1;
while ( br.ready()){
linia = br.readLine();
brout.write(linia + "|" + a++);
brout.newLine();
}
brout.close();
inFile = new File("/home/michal/Desktop/plik_new.txt");
br = new BufferedReader(new InputStreamReader(
new FileInputStream(inFile))); // mamy plik do wrzucenia
((PGConnection)cn).getCopyAPI().copyIn("copy test from stdin with delimiter '|' ", br);
} catch (Exception e) {
e.printStackTrace();
}
}
}