Lecture d'un fichier texte

Résolu/Fermé
chida29 Messages postés 31 Date d'inscription jeudi 9 mai 2013 Statut Membre Dernière intervention 29 novembre 2013 - Modifié par chida29 le 21/05/2013 à 21:57
chida29 Messages postés 31 Date d'inscription jeudi 9 mai 2013 Statut Membre Dernière intervention 29 novembre 2013 - 22 mai 2013 à 09:48
Bonsoir,
j'ai un probléme avec un fichier texte..
quand je le lit seule avec aucun traitement tout marche bien, mai quand j'ajoute mes traitement , le programme n'arrive plus a le lire??
c le fichier collection que le programme n'arrive pas à lire??


package programmeprincipale;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;


public class programmeprincipale1 {



static File collection =new File("E:\\collection\\collection.txt");
static File file1 =new File("E:\\rep1\\concepts.txt");
static File file2 =new File("E:\\rep2\\syn.txt");



public static void main(String[] args) {

String ligne1 = "";
ArrayList<String>tab1=new ArrayList<String>();
BufferedReader in1 = null;
try
{
PrintWriter sortie= new PrintWriter(new FileWriter("E:\\Termes-Freqs.txt"));
in1=new BufferedReader(new FileReader(file1));
while ((ligne1=in1.readLine()) !=null)
{
if(ligne1.startsWith("<DOCNO>"))
{
StringTokenizer st=new StringTokenizer(ligne1.trim());
String file=st.nextToken();
file=st.nextToken().trim();
sortie.println("<DOC> "+file);
String ligne2 = "";
BufferedReader in2 = null;
try
{

in2=new BufferedReader(new FileReader(collection+"\\"+file));
ArrayList<String>tab=new ArrayList<String>();
boolean bool=false;
while ((ligne2=in2.readLine())!=null)
{
StringTokenizer str=new StringTokenizer(ligne2.trim());
String tok="";
if(ligne2.startsWith("<ABSTRACT>"))
{
bool=true;
if (str.hasMoreTokens())
tok=str.nextToken();
if (str.hasMoreTokens())
tok=str.nextToken();
if (str.hasMoreTokens())
tok=str.nextToken();

}
if(bool==true)
{

while(str.hasMoreTokens())
{
if(tok.trim().equals("</ABSTRACT>")==false)
{
tab.add(tok);
tok=str.nextToken();
}
else
bool=false;
}

}

}
//System.out.println(tab);
System.out.println("==============="+collection+"\\"+file.trim()+"=============");
tab1=new ArrayList<String>();
for(int i=0; i<tab.size()-3; i++)
tab1.add(tab.get(i).trim());
String stt=new String (tab1.get(tab1.size()-1));
stt=stt.replace(".", "");
tab1.set(tab1.size()-1, stt.trim());
//System.out.println("tab1= "+tab1);
}
catch (FileNotFoundException e) {
System.err.println("Impossible de lire le fichier"+collection+"\\"+" !");
} catch (IOException e) {System.err.println("Erreur de lecture !2");}

}
else
{
//System.out.println("ééééé "+ligne1);
StringTokenizer str1=new StringTokenizer(ligne1, "|");
String token=str1.nextToken();

String key=str1.nextToken();
ArrayList<String >synos=new ArrayList<String>();
token=str1.nextToken().trim();
//System.out.println("###########"+token);
token=token.replace(",", "");
String ligne3 = "";
BufferedReader in3 = null;
try
{
in3=new BufferedReader(new FileReader(file2));
boolean stop=false;
boolean trouve=false;
while ((ligne3=in3.readLine()) !=null && stop==false)
{

//System.out.println(token);


if(ligne3.trim().equals("<MH>"+token.trim()+"</MH>"))
{//System.out.println("&&&&"+ligne3);

trouve=true;
Porter_stem lemme= new Porter_stem(); //le lemme de porter
for(int k=0; k<token.length(); k++)//Récup les caractères de s dans token
{
char w=token.charAt(k);
lemme.add(w);
}
lemme.stem();

synos.add(lemme.toString().trim());
}
else
{
if(trouve==true)
{
if(ligne3.trim().startsWith("<ENTRY>"))
{
//System.out.println(ligne3);
StringTokenizer stt=new StringTokenizer(ligne3.trim(), "</");
String q=stt.nextToken();
q=q.trim();
q=q.replace("ENTRY>", "");
//System.out.println(w);

Porter_stem lemme= new Porter_stem(); //le lemme de porter
for(int k=0; k<q.length(); k++)//Récup les caractères de s dans token
{
char w=q.charAt(k);
lemme.add(w);
}
lemme.stem();
//System.out.println(q+"#### "+lemme.toString());
boolean trou=false;
for(int k=0; k<synos.size() && trou==false; k++)
if(lemme.toString().trim().equals(synos.get(k).trim()))
trou=true;
if(trou==false)
synos.add(lemme.toString().trim());

}
else
stop=true;
}
}


}


System.out.println("tab1= "+tab1);
System.out.println("synos="+synos);
int m=0;
for(int i=0; i<synos.size(); i++)
{
System.out.println(synos.get(i));
//System.out.println(synos.get(i));
StringTokenizer st=new StringTokenizer(synos.get(i).trim());
int n=st.countTokens();
//System.out.println(n);
for(int j=0; j<tab1.size(); j++)
{
String s="";
boolean trouv=false;
for(int k=j; k<j+n && (j+n)<=tab1.size(); k++)
{
s=s+" "+tab1.get(k).trim();
trouv=true;
}
//System.out.println(s.trim().replace(",", "")+" "+synos.get(i).trim());
if(trouv==true)
{
if(s.endsWith(","))

{
s=s.trim().replace(",", "");
}

if(s.contains("["))
{
s=s.trim().replace("[", "");
}
if(s.contains("]"))
{
s=s.trim().replace("]", "");
}
if(s.endsWith("."))
{
s=s.replace(".", "");
Porter_stem lemme= new Porter_stem(); //déclarer token comme le lemme de porter
for(int k=0; k<s.length(); k++)//Récup les caractères de s dans token
{
char w=s.charAt(k);
lemme.add(w);
}
lemme.stem();// lemmatiser token avec porter
//System.out.println(lemme);
if(lemme.toString().trim().toLowerCase().equals(synos.get(i).trim().toLowerCase()))
m++;

}
else
{
Porter_stem lemme= new Porter_stem(); //déclarer token comme le lemme de porter
for(int k=0; k<s.trim().length(); k++)//Récup les caractères de s dans token
{
char w=s.trim().charAt(k);
lemme.add(w);
}
lemme.stem();// lemmatiser token avec porter
//System.out.println(lemme);
System.out.println(synos.get(i)+" ####"+lemme.toString()+" "+s);
if(lemme.toString().trim().toLowerCase().equals(synos.get(i).trim().toLowerCase()))

{
m++;
System.out.println("m= "+m);System.out.println(tab1);
for(int k=j; k<j+n; k++)
{
tab1.set(k, "");
}
}

}
}
}

}
System.out.println(token+" "+m);
sortie.println(key.trim()+"|"+token+"|"+m);
}
catch (FileNotFoundException e) {
System.err.println("Impossible de lire le fichier"+file2+" !");}
catch (IOException e) {System.err.println("Erreur de lecture ! 3");}



}
}
sortie.close();
}
catch (FileNotFoundException e) {
System.err.println("Impossible de lire le fichier"+file1+" !");
} catch (IOException e) {System.err.println("Erreur de lecture ! 1");}
}


}
A voir également:

1 réponse

chida29 Messages postés 31 Date d'inscription jeudi 9 mai 2013 Statut Membre Dernière intervention 29 novembre 2013
22 mai 2013 à 09:48
Bonjour,
c bon j'ai trouvé la solution
merci
0