Salve a tutti,
sto tentando di scrivere su una servlet una classe di gestione di un database,
il database quando viene creato crea le tabelle riempendole, o vede se già esistono,
questo è il codice:
non funziona la lettura da file,codice:public class DbHandler { private static Connection connection = null; ------------------------------------------ ------------------------------------------ (ometto parti non utili) ------------------------------------------ ------------------------------------------ public static ArrayList<String> doQueryElencoSquadre(){ ArrayList<String> result = new ArrayList<String>(); Connection con = getHsqlDbConnection(); ResultSet res = null; try { String query = "select * from SQUADRE_A WHERE 1=1 "; res = con.createStatement().executeQuery(query); while(res.next()){ result.add(res.getString("NOME")); } } catch (Exception e) { e.printStackTrace(); } finally{ if (connection != null) closeDb(); } return result; } public static Connection getHsqlDbConnection(){ if(connection == null){ // se è uguale a null crea la connessione e il database try { Class.forName("org.hsqldb.jdbcDriver"); connection = DriverManager.getConnection("jdbc:hsqldb:file:db_applicazione/nomedb","sa",""); //Create db on fly // creaTabellaUtenti(); creaTabellaSquadre(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { } } // altrimenti restituisce la connessione al db return connection; } public static void creaTabellaSquadre(){ try { connection.createStatement().executeUpdate("CREATE TABLE SQUADRE_A (Nome varchar(100))"); String nomeSquadra = null; FileReader fr = new FileReader("/WEB-INF/File_del_Server/Squadre.txt"); BufferedReader in=new BufferedReader(fr); nomeSquadra = in.readLine(); while(nomeSquadra != null){ connection.createStatement().executeUpdate("INSERT INTO SQUADRE_A values ('" + nomeSquadra + "')"); System.out.println("nomesquadra= " + nomeSquadra); nomeSquadra = in.readLine(); } in.close(); fr.close(); } catch (SQLException e) { } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }
il file si trova alla cartella NomeApplicazione/WebContent/WEB-INF/File_del_Server
non legge niente e non torna niente. Qualche indicazione?