


bonjour tout le monde j'ai un probleme a l'execution de mon code
mon code:
public classe SavingData{
public static void main(String args) throws IOException, SQLException, ClassNotFoundException {
/* // TODO Auto-generated method stub
//DataOutputStream f=new DataOutputStream(new FileOutputStream("serial_for_nameDoc.txt"));
//f.writeInt(0);
*/
int j=0;
//ouverture du fichier contenant l'incremerntal du nopmlbre de doc
DataInputStream f=new DataInputStream(new FileInputStream("serial_for_nameDoc.txt"));
j=f.readInt();
System.out.println ("\n\n\n\n&&&&&&&&&&&&&&&&&&&&&&& "+j+" &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n\n\n");
//mise à jour d'incremental
DataOutputStream h=new DataOutputStream(new FileOutputStream("serial_for_nameDoc.txt"));
h.writeInt(j+1);
//fermeture des fichiers d'incrementation
f.close();
h.close();
String docqName2="Base Documentaire\\doc"+String.valueOf(j)+".xml";
/*
File fichier2 = new File(nomFichier);
if (!fichier2.exists()) {
System.out.println("le fichier "+nomFichier+"n'existe pas");
// System.exit(1);
}
System.out.println(" Nom du fichier : "+fichier2.getName());
// System.out.println(" Chemin du fichier : "+fichier.getPath());
// System.out.println(" Chemin absolu : "+fichier.getAbsolutePath());
// System.out.println(" Droit de lecture : "+fichier.canRead());
// System.out.println(" Droite d'ecriture : "+fichier.canWrite());
if (fichier2.isDirectory() ) {
System.out.println(" contenu du repertoire ");
String fichiers[] = fichier2.list();
System.out.println(fichiers.length);
for(int i1 = 0; i1 < fichiers.length; i1++) {
System.out.println(" "+fichiers[i1]);
//nom phisique du document
String docqName=fichiers[i1];
*/
//nom phisique du document
String docqName=args;
//copie et attribution de nom du fichier entré vers l'emplacement désigné pour la base documentaire!!
File Source=new File(args);
File Destination= new File("print.txt");
try{
if (Destination.createNewFile()) {
System.out.println("creation effective");
java.io.FileInputStream sourceFile = new java.io.FileInputStream(Source);
try {
java.io.FileOutputStream destinationFile =new java.io.FileOutputStream(Destination);
try {
// Lecture par segment de 0.5Mo
byte buffer[]=new byte[512*1024];
int nbLecture;
while( (nbLecture = sourceFile.read(buffer)) != -1 ) {
destinationFile.write(buffer, 0, nbLecture);
}
} finally { destinationFile.close(); }
} finally { sourceFile.close(); }
}
}catch (IOException e) {
e.printStackTrace();
System.out.println("erreur lors de la copie");
}
// connexion à la base de donnée
//mise en place du driver
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/BaseDocumentaire";
String user = "postgres";
String passwd = "14756";
Connection conn = DriverManager.getConnection(url, user, passwd);
//Création d'un objet Statement
conn.setAutoCommit(false);
Statement state1=conn.createStatement();
state1.executeUpdate("INSERT INTO document(nom_doc,racine_doc)VALUES('"+docqName.substring(44,docqName.length())+"','article');");
//sauvegarde de l'identifiant du document pour la maj des autres tables
ResultSet r1=state1.executeQuery("SELECT id_doc FROM document WHERE (document.nom_doc='"+docqName.substring(44, docqName.length())+"');");
r1.next();
j=r1.getInt("id_doc");
Balise Racine=new Balise();
try{
//parsing du document et retour du vecteur contenant les caractéristiques de chaque feuilles
Parsing pars=new Parsing();
String fichier=args;
pars.Getvectexte(fichier);
int i=0;
Iterator it=pars.texte.iterator();
//lemmatisation pour chaque feuille du document
while(i<pars.texte.size()){
i++;
Statement st=conn.createStatement();
Element E=(Element)it.next();
// System.out.println("&&&&&&&&&&&&&&&&&&&&&&&&&&& \n\n" +E+"\n\n");
//ResultSet r3=st.executeQuery("INSERT INTO feuille(val_pre,val_post,val_pre_np,val_post_np,id_doc) VALUE ("+E.valpre+","+E.valpost+","+E.val_pre_parent+","+E.val_post_parent+","+j+") ");
st.executeUpdate("INSERT INTO feuille(val_pre,val_post,par,id_doc) VALUES ("+E.val_pre+","+E.val_post+","+E.val_pre_parent+","+j+"); ");
ResultSet r2=st.executeQuery("SELECT id_feuille FROM feuille WHERE (feuille.id_doc="+j+") and (feuille.val_pre="+E.val_pre+") and (feuille.val_post="+E.val_post+");");
r2.next();
int k=r2.getInt("id_feuille");
//k contient l'identifiant de la feuille en cours et sera utilisé pour la table emplacement terme
//lemmatisation d'une feuille
Lemmatisation lem=new Lemmatisation();
lem.main(E.bal);
Iterator it1=lem.vecTermeFreq.iterator();
int p=0;
while(p<lem.vecTermeFreq.size()){
p++;
Statement st1=conn.createStatement();
Terme_frequence T=new Terme_frequence();
T=(Terme_frequence) it1.next();
ResultSet r4=st1.executeQuery("SELECT nom_terme FROM terme WHERE (nom_terme='"+T.terme+"');");
if(!r4.next()){
Statement st2=conn.createStatement();
st2.executeUpdate("INSERT INTO terme(nom_terme) VALUES ('"+T.terme+"');");
}
ResultSet r5=st1.executeQuery("SELECT (id_feuille,nom_terme) FROM emplacement_terme WHERE ((emplacement_terme.id_feuille="+k+") and (emplacement_terme.nom_terme='"+T.terme+"'));");
if (!r5.next()){
Statement st3=conn.createStatement();
st3.executeUpdate("INSERT INTO emplacement_terme (id_feuille,nom_terme,frequence) VALUES ("+k+",'"+T.terme+"',"+T.freq+"); ");
}
}
}
i=0;
Iterator it2=pars.vecteurBalise.iterator();
while(i<pars.vecteurBalise.size()){
Balise B=(Balise) it2.next();
if(i==0) {
Racine=B;
}
Statement st3=conn.createStatement();
st3.executeUpdate("INSERT INTO balise(nom_bal,val_pre,par,id_doc) VALUES ('"+B.nom_balise+"',"+B.val_pre+","+B.par+","+j+"); ");
i++;
}
i=0;
Iterator it3=pars.vecteurAttr.iterator();
while(i<pars.vecteurAttr.size()){
Gattributes A=(Gattributes) it3.next();
Statement st4=conn.createStatement();
ResultSet r5=st4.executeQuery("SELECT id_bal FROM balise WHERE ((balise.id_doc="+j+") and (balise.val_pre="+A.val_pre+"));");
r5.next();
int x=r5.getInt("id_bal");
st4.executeUpdate("INSERT INTO attribut(nom_attr,valeur_attr,id_bal) VALUES ('"+A.nom+"','"+A.valeur+"',"+x+");");
i++;
}
Statement st=conn.createStatement();
st.executeUpdate("UPDATE document SET racine_doc='"+Racine.nom_balise+"' WHERE (document.id_doc="+j+");");
}catch(Exception e){
e.printStackTrace();
System.out.println("erreur dans la requête");
System.exit(0);
}
//
System.out.println("!!! fin de traitement !!!");
}
}
on me signal cette erreur :at SavingData.main(SavingData.java:150) sachant que ma class c SavingData
aidez moi