Programmation Java lecture base de données - Java - Programmation
Marsh Posté le 16-12-2013 à 20:23:29
lostfingers a écrit : Toutefois cela ne marche pas, Java ne semble pas aimer cette simultanéité. |
T'as un message d'erreur qui te dit "CannotHandleOneDBAndOneFileAtTheSameTimeException"? J'en doute...
Donc question habituelle: ca veut dire quoi "ca ne marche pas", t'as un message d'erreur, il dit quoi, si t'as pas d'erreur il se passe quoi, etc.
Sans ca, difficile de deviner.
Au doigt mouille, tu utilises un buffer que tu ne flushes pas avant le close() donc ya une chance que ca soit ton probleme.
Marsh Posté le 15-12-2013 à 23:51:55
Bonsoir les gars, je ne sais pas si quelqu'un peut m'aider mais j'ai un problème en JAVA.
En fait je dois lire dans une base de données puis modifier un fichier .txt à partir de ce que j'ai lu avec des paramètres bien particuliers.
Ce que je fais c'est que je lis simultanément ma base de données et mon fichier .txt à modifier puis je le modifier après lecture.
Toutefois cela ne marche pas, Java ne semble pas aimer cette simultanéité.
Quelqu'un aurait une autre idée?
public class Ecrire {
public static void main(String[] args) {
Connection con = null;
Statement st = null;
ResultSet rs = null;
String url = "***";
String user = "***";
String password = "****";
String paramPath = "../position.txt";
String outPath = "../nodenew.txt";
try {
// LECTURE de la base de données
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
String sql;
sql="SELECT device FROM devices";
rs = st.executeQuery(sql);
BufferedReader param = new BufferedReader(new FileReader(paramPath));
BufferedWriter out = new BufferedWriter(new FileWriter(outPath));
try {
String line2;
while (rs.next()==true && (line2 = param.readLine()) != null) {
int device = rs.getInt("device" );
String abc = "\nNODE " + device + "\nTEMPLATE switch \nPOSITION " + line2 +"\nLABEL "+device +"\n";
try {
System.out.println(abc);
out.write(abc);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
rs.close();
st.close();
con.close();
} catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
out.close();
//finally block used to close resources
try{
if(st!=null)
st.close();
}catch(SQLException se2){
}// nothing we can do
try{
if(con!=null)
con.close();
}catch(SQLException se){
se.printStackTrace();
}
}
} catch (IOException ioe) {
System.out.println("Erreur ---" + ioe.toString());
}
}
}
Message édité par lostfingers le 16-12-2013 à 00:25:26