Exception in thread "main" java.sql.SQLException
Résolu
AHop
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
AHop Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
AHop Messages postés 22 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Exception in thread "main" java.sql.SQLException
- Deco in paris avis ✓ - Forum Consommation & Internet
- Navigation in private - Guide
- Aux in ✓ - Forum Enceintes / HiFi
- Peut-on brancher un casque sur une prise auxiliaire ? - Forum Casque et écouteurs
- Dc in - Forum Disque dur / SSD
7 réponses
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.
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(); } }
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