Exception in thread "main" java.sql.SQLException
Résolu
AHop
Messages postés
28
Statut
Membre
-
AHop Messages postés 28 Statut Membre -
AHop Messages postés 28 Statut Membre -
A voir également:
- Exception in thread "main" java.sql.SQLException
- In da place - Forum Mail
- Aux in ✓ - Forum Enceintes / HiFi
- Navigation in private - Guide
- Dc in - Forum Disque dur / SSD
- Peut-on brancher un casque sur une prise auxiliaire ? - Forum Casque et écouteurs
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


