Exception in thread "main" java.sql.SQLException
Résolu/Fermé
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
-
19 mai 2017 à 21:49
AHop Messages postés 22 Date d'inscription jeudi 18 mai 2017 Statut Membre Dernière intervention 24 mai 2017 - 19 mai 2017 à 22:44
AHop Messages postés 22 Date d'inscription jeudi 18 mai 2017 Statut Membre Dernière intervention 24 mai 2017 - 19 mai 2017 à 22:44
A voir également:
- Exception in thread "main" java.sql.SQLException
- Bagage à main - Guide
- Navigation in private - Guide
- La main de la titi popo ✓ - Forum Musique / Radio / Clip
- A java exception has occurred ✓ - Forum Minecraft
- Deco in paris avis ✓ - Forum Consommation & Internet
7 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 mai 2017 à 21:54
19 mai 2017 à 21:54
Bonjour,
Le message est assez explicite : le fichier est introuvable.
Soit il n'existe pas, soit le programme n'a pas les droits pour y accéder.
Remarque : une SQLException pour un problème de fichier c'est faux.
Le message est assez explicite : le fichier est introuvable.
Soit il n'existe pas, soit le programme n'a pas les droits pour y accéder.
Remarque : une SQLException pour un problème de fichier c'est faux.
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
Modifié le 19 mai 2017 à 21:58
Modifié le 19 mai 2017 à 21:58
le fichier existe et le programme à les droits d'accés
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 mai 2017 à 22:01
19 mai 2017 à 22:01
Il faut voir le code alors.
Le message de l'exception est peut être aussi faux que son type...
Le message de l'exception est peut être aussi faux que son type...
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
19 mai 2017 à 22:11
19 mai 2017 à 22:11
avec ce code j'ai créer le nouveau fichier txt
et ce code pour faire le trie du nouveau fichier
package calcul; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; import java.util.List; public class A1 { static String Newligne = System.getProperty("line.separator"); public static void main(String[] args) throws Exception { Class.forName("org.relique.jdbc.csv.CsvDriver"); String csvFile = "d:/fichier.txt"; String csvFile1 = "C:\\csv\\csv.txt"; List<LineFile> list; try { list = ListFromTXT(csvFile); TXTFromList(list, csvFile1); List<LineFile> list1 = ListFromTXT(csvFile1); for (int i = 0; i < list1.size(); i++) { LineFile lf = list1.get(i); System.out.println(lf.getAttribute5() + " + " + lf.getAttribute6() + " = " + lf.getAttribute9()); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void TXTFromList(List<LineFile> liste_files, String file_name) throws IOException { File fichier_clt = new File(file_name); BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter( fichier_clt, true)); bufferedWriter.append("id,origin,destination,capacite,eo,Em,DTM,DTD"); for (LineFile lfile : liste_files) { String cont = ""; cont = cont + lfile.getAid() + ","; cont = cont + lfile.getAttribute2() + ","; cont = cont + lfile.getAttribute3() + ","; cont = cont + lfile.getAttribute4() + ","; cont = cont + lfile.getAttribute5() + ","; cont = cont + lfile.getAttribute6() + ","; cont = cont + lfile.getAttribute7() + ","; cont = cont + lfile.getAttribute8() + ","; cont = cont + lfile.getAttribute9(); cont = cont + Newligne; bufferedWriter.write(cont); } bufferedWriter.close(); } public static List<LineFile> ListFromTXT(String file_name) throws IOException { BufferedReader br = null; String line = ""; ArrayList<LineFile> files = new ArrayList<LineFile>(); try { br = new BufferedReader(new FileReader(file_name)); int cpt = 0; while ((line = br.readLine()) != null) { if (cpt > 0) { String[] ls = line.split(","); LineFile lineFile = new LineFile(); lineFile.setAttribute1(ls[0]); lineFile.setAttribute2(ls[1]); lineFile.setAttribute3(ls[2]); lineFile.setAttribute4(ls[3]); lineFile.setAttribute5(ls[4]); lineFile.setAttribute6(ls[5]); lineFile.setAttribute7(ls[6]); lineFile.setAttribute8(ls[7]); // DateFormat df = new SimpleDateFormat("yyyy-MM-dd_HH:mm"); DateFormat df1 = new SimpleDateFormat("HH:mm"); Calendar c1 = Calendar.getInstance(); String date1 = lineFile.getAttribute5(); try { c1.setTime(df.parse(date1)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } Calendar c2 = Calendar.getInstance(); String time = lineFile.getAttribute6(); try { c2.setTime(df1.parse(time)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } Calendar cTotal = (Calendar) c1.clone(); cTotal.add(Calendar.HOUR_OF_DAY, c2.get(Calendar.HOUR_OF_DAY)); cTotal.add(Calendar.MINUTE, c2.get(Calendar.MINUTE)); String somme = df.format(cTotal.getTime()); System.out.println(somme); lineFile.setAttribute9(somme ); files.add(lineFile); } cpt++; } return files; } catch (FileNotFoundException e) { e.printStackTrace(); return null; } catch (IOException e) { e.printStackTrace(); return null; } finally { if (br != null) { try { br.close(); } catch (IOException e) { e.printStackTrace(); return null; } } } } }
et ce code pour faire le trie du nouveau fichier
package calcul; import java.sql.*; import java.util.Properties; import org.relique.jdbc.csv.CsvDriver; public class ConCsv { public static void main(String[] args) throws Exception { Class.forName("org.relique.jdbc.csv.CsvDriver"); Properties props = new Properties(); props.put("fileExtension", ".txt"); Connection conn = DriverManager.getConnection("jdbc:relique:csv:C:\\csv", props); Statement stmt = conn.createStatement(); ResultSet results = stmt.executeQuery("select * from requests order by eo"); boolean append = true; CsvDriver.writeToCsv(results, System.out, append); conn.close(); } }
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 mai 2017 à 22:16
19 mai 2017 à 22:16
Le code de CsvStatement :
https://sourceforge.net/p/csvjdbc/code/ci/csvjdbc-1.0.31/tree/src/main/java/org/relique/jdbc/csv/CsvStatement.java
Lignes 350 et suivantes :
Le message fileNotFound ne peut être obtenu que si checkFile.exists() renvoie false, il faut donc se référer à la documentation de File :
https://docs.oracle.com/javase/8/docs/api/java/io/File.html#exists--
"true if and only if the file or directory denoted by this abstract pathname exists; false otherwise"
Donc on en revient à ce que je disais, le fichier n'existe pas.
https://sourceforge.net/p/csvjdbc/code/ci/csvjdbc-1.0.31/tree/src/main/java/org/relique/jdbc/csv/CsvStatement.java
Lignes 350 et suivantes :
if (path != null && (!connection.isIndexedFiles())) { fileName = path + tableName + connection.getExtension(); CsvDriver.writeLog("CSV file name: " + fileName); File checkFile = new File(fileName); if (!checkFile.exists()) { throw new SQLException(CsvResources.getString("fileNotFound") + ": " + fileName); } if (!checkFile.canRead()) { throw new SQLException(CsvResources.getString("fileNotReadable") + ": " + fileName); } }
Le message fileNotFound ne peut être obtenu que si checkFile.exists() renvoie false, il faut donc se référer à la documentation de File :
https://docs.oracle.com/javase/8/docs/api/java/io/File.html#exists--
"true if and only if the file or directory denoted by this abstract pathname exists; false otherwise"
Donc on en revient à ce que je disais, le fichier n'existe pas.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
19 mai 2017 à 22:21
19 mai 2017 à 22:21
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
19 mai 2017 à 22:23
19 mai 2017 à 22:23
Sauf que le fichier que le programme cherche c'est requests.txt (qui correspond à la table sur laquelle tu fais ton select), toi tu as un fichier csv.txt
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
19 mai 2017 à 22:29
19 mai 2017 à 22:29
AHop
Messages postés
22
Date d'inscription
jeudi 18 mai 2017
Statut
Membre
Dernière intervention
24 mai 2017
19 mai 2017 à 22:44
19 mai 2017 à 22:44
c bon c'est fait Merci