Création de'un fichier à partir d'un autre fichier
Résolu
AHop
Messages postés
22
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour j'utilise ce code pour récupérer le contenu d'un fichier txt dans autre fichier avec des nouveaux attributs .
Le problème qu'il ne récupéré pas la première ligne du fichier
id,origin,destination,capacite,eo,Em,DTM,DTD


Le problème qu'il ne récupéré pas la première ligne du fichier
id,origin,destination,capacite,eo,Em,DTM,DTD


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)); 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; } } } } }
A voir également:
- Création de'un fichier à partir d'un autre fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
5 réponses
Bonjour,
Il faut que tu gère la première ligne à part et l'ajouter au début du fichier de sortie lors de sa création.
id,origin,destination,capacite,eo,Em,DTM,DTDest un entête qui ne respecte pas le format général attendu, en particulier il va provoquer une exception sur ce morceau de code :
try { c1.setTime(df.parse(date1)); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
Il faut que tu gère la première ligne à part et l'ajouter au début du fichier de sortie lors de sa création.
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(fichier_clt));
bufferedWriter.append("id,origin,destination,capacite,eo,Em,DTM,DTD");
apres cette ligne je veux retourner à la ligne comment je fais ?
bufferedWriter.append("id,origin,destination,capacite,eo,Em,DTM,DTD");
apres cette ligne je veux retourner à la ligne comment je fais ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question