azerty_qwerty
Messages postés64Date d'inscriptionvendredi 23 mars 2018StatutMembreDernière intervention 6 décembre 2022
-
Modifié le 13 mars 2019 à 13:25
azerty_qwerty
Messages postés64Date d'inscriptionvendredi 23 mars 2018StatutMembreDernière intervention 6 décembre 2022
-
13 mars 2019 à 16:43
Bonjour,
J'ai un fichier texte. Chaque ligne de ce fichier sont insérée dans chaque ligne de ma JTable dans une colonne. Cela fonctionne nickel.
Par contre, si j'ai un fichier dont chaque ligne contient 3 types de données séparées par un espace tabulation (ex : donnée1 "tab" données2 "tab" données3), et que je souhaite insérer chaque donnée dans 1 colonne de ma JTable, comment puis-je faire ?
J'utilise un defaultTableModel. Voici le code ci-dessous . Merci pour votre aide, car je ne vois pas comment faire.
public class myTableModelApi extends DefaultTableModel
{
public static String []columnsName = {"DOCUMENTS CHARGES :"} ;
public static int nombreDocumentsApi ;
public static Object [] tableLines;
public myTableModelApi( )
{
String Newligne=System.getProperty("line.separator"); // retour à la ligne
String []columnsName = {" "} ;
this.setColumnIdentifiers(columnsName);
// lister tous les fichiers contenus dans le dossier api dans un fichier
String mesFichiers="";
String cheminDossier=System.getProperty("user.dir")+ "/courrier copie/";
ArrayList<String> fichiers=new ArrayList<>();
fichiers=listeFichier(cheminDossier);
FileWriter fwFichier;
try
{
fwFichier = new FileWriter(System.getProperty("user.dir")+"listeFichiersApi.txt");
BufferedWriter bw=new BufferedWriter(fwFichier);
try(PrintWriter pwFichier=new PrintWriter(bw))
{
for(String fichier : fichiers)
{
pwFichier.println(fichier);
}
pwFichier.close();
}
} catch (IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
// on lit le fichier contenant la liste des fichiers api
// on l'insere dansla Jtable
String filePath = System.getProperty("user.dir") + "listeFichiersApi.txt" ;
BufferedReader br;
try {
br = new BufferedReader(new FileReader(filePath));
tableLines = br.lines().toArray();
for (int i = 0; i< tableLines.length ; i++)
{
String line = tableLines [i].toString().trim();
String [] dataRow =line.split(Newligne);
this.addRow(dataRow);
}
nombreDocumentsApi = tableLines.length ;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public boolean isCellEditable(int rowIndex, int columnIndex)
{
return false;
}
public int getColumnCount() {
return columnsName.length;
}
public Class getColumnClass(int column) {
//return String.class;
Class returnValue;
if (( column >= 0) && ( column < getColumnCount())) {
returnValue = getValueAt(0, column).getClass();
} else {
returnValue = Object.class;
}
return returnValue;
}
//public Object getValueAt(int rowIndex, int columnIndex) {
//}
//Lister fichiers
private ArrayList<String> listeFichier(String dossier) {
ArrayList<String> fichiers=new ArrayList<>();
File monDossier=new File(dossier);
File[] liste=monDossier.listFiles();
for(File elementListe : liste) {
if(elementListe.isFile()) {
fichiers.add(elementListe.getName()); }
}
return fichiers;
}
}