public static void main(String[] args) {
convert(Map.of(
"toto", new File("G:/toto.csv"),
"tata", new File("G:/tata.csv")
), new File("G:/test.xml"));
}
caramelwilly
Messages postés14Date d'inscriptionmardi 28 juin 2022StatutMembreDernière intervention18 juillet 2022 13 juil. 2022 à 10:09
Merci pour votre réponse!
Je pense comprendre comment le programme procède.
Je ne connaissais pas du tout la collection Map avant.
Lors du test, j'ai un petit soucis cependant, que je comprends pas ;
J'ai mis cette ligne de code dans ma classe fenêtre "conversion.convert(Map.of("t1", file,"t2", file), FAIA);" mais alors une erreur apparait : "The method of(String, File, String, File) is undefined for the type Map".
J'ai peut être fait un mauvais import?
J'ai pourtant ces deux la :
import java.util.Map;
import java.util.Map.Entry;
J'ai un peu de mal à comprendre.
De plus, pour avoir le nom des fichiers choisis avec JFileChooser, est il possible de faire une liste de fichier ? Du type "File[]" et File[0] == premier fichier choisi par JFileChooser, File[1] == le deuxième etc...
Afin de pouvoir faire un "File[i].getName();. et de pouvoir au mieux cibler mes fichiers?
Merci à vous.
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 20243 015
>
caramelwilly
Messages postés14Date d'inscriptionmardi 28 juin 2022StatutMembreDernière intervention18 juillet 2022 Modifié le 13 juil. 2022 à 15:08
"The method of(String, File, String, File) is undefined for the type Map"
Dans quelle version de Java est-ce que tu compiles ?
Les méthodes Map.of() existent depuis Java 9, avant il faudrait faire quelque chose comme ceci :
Map<String, File> map = new LinkedHashMap<>();
map.put("tata", new File("G:/tata.txt"));
map.put("toto", new File("G:/toto.txt"));
Remarque : la dernière version c'est Java 18 (et la dernière LTS : Java 17)
"pour avoir le nom des fichiers choisis avec JFileChooser, est il possible de faire une liste de fichier ?"
caramelwilly
Messages postés14Date d'inscriptionmardi 28 juin 2022StatutMembreDernière intervention18 juillet 2022
>
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024 15 juil. 2022 à 09:37
Bonjour!
Désolé de ma réponse tardive!
Votre aide m'est très précieuse!
Cela fonctionne comme je veux, cependant j'ai une question, est-il possible, avec
Map<String, File> de créer des sous section parmi nos sections?
Par ailleurs, si mon "conversion.convert(Map.of("t1", file,"t2", file), FAIA);" ne fonctionnait pas, c'était bien à cause de la version de Java que j'utilisais! Je me suis donc mis à jour !
Merci beaucoup!
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 20243 015
>
caramelwilly
Messages postés14Date d'inscriptionmardi 28 juin 2022StatutMembreDernière intervention18 juillet 2022 15 juil. 2022 à 10:38
Bonjour,
Techniquement on pourrait faire des Map<String, Map<String, File>> mais je ne sais pas si c'est très pertinent pour ton programme.
Au départ on avait une conversion d'un fichier CSV (avec une section pour chacune de tes colonnes) vers un fichier XML, avec une Map on avait une conversion de plusieurs fichiers vers un même fichier XML (avec une section pour chacun de tes fichiers), maintenant tu veux rajouter encore une section mais elle représenterait quoi dans tes fichiers CSV ?
Si tu veux complexifier ton fichier XML (quitte à mettre de côté la partie CSV) on peut soit revenir aux DocumentBuilder comme tu avais dans ta première discussion, soit passer par une classe perso qui permet de gérer tes différents niveaux d'imbrication.
Exemple :
abstract class XmlData {
String name;
}
class XmlValue extends XmlData {
String value;
}
class XmlSection extends XmlData {
List<XmlData> datas;
}
caramelwilly
Messages postés14Date d'inscriptionmardi 28 juin 2022StatutMembreDernière intervention18 juillet 2022
>
KX
Messages postés16734Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention24 avril 2024 15 juil. 2022 à 11:54
En fait, je voudrais avoir mon document comme suit XML :
<section1>
<sous_section1>
fichier1
</sous_section1>
<sous_section2>
fichier1
<sous_section2>
</section1>
Et les sections me permettraient de décomposer une section du type : (c'est un exemple)
Ma première section = MasterFile
Ce que je mets dans mon MasterFIle:
Sous section 1 : info sur fournisseur
Sous section 2 : info sur client
sous section 3 :...
Après si c'est fastidieux ou non pertinent niveau programme, ce n'est pas très grave de ne pas avoir ces sous-sections.
13 juil. 2022 à 10:09
Merci pour votre réponse!
Je pense comprendre comment le programme procède.
Je ne connaissais pas du tout la collection Map avant.
Lors du test, j'ai un petit soucis cependant, que je comprends pas ;
J'ai mis cette ligne de code dans ma classe fenêtre "conversion.convert(Map.of("t1", file,"t2", file), FAIA);" mais alors une erreur apparait : "The method of(String, File, String, File) is undefined for the type Map".
J'ai peut être fait un mauvais import?
J'ai pourtant ces deux la :
import java.util.Map;
import java.util.Map.Entry;
J'ai un peu de mal à comprendre.
De plus, pour avoir le nom des fichiers choisis avec JFileChooser, est il possible de faire une liste de fichier ? Du type "File[]" et File[0] == premier fichier choisi par JFileChooser, File[1] == le deuxième etc...
Afin de pouvoir faire un "File[i].getName();. et de pouvoir au mieux cibler mes fichiers?
Merci à vous.
Modifié le 13 juil. 2022 à 15:08
Dans quelle version de Java est-ce que tu compiles ?
Les méthodes Map.of() existent depuis Java 9, avant il faudrait faire quelque chose comme ceci :
Remarque : la dernière version c'est Java 18 (et la dernière LTS : Java 17)
Oui, mais tu dois utiliser la méthode File[] getSelectedFiles() au lieu de File getSelectedFile()
15 juil. 2022 à 09:37
Bonjour!
Désolé de ma réponse tardive!
Votre aide m'est très précieuse!
Cela fonctionne comme je veux, cependant j'ai une question, est-il possible, avec
Map<String, File> de créer des sous section parmi nos sections?
Par ailleurs, si mon "conversion.convert(Map.of("t1", file,"t2", file), FAIA);" ne fonctionnait pas, c'était bien à cause de la version de Java que j'utilisais! Je me suis donc mis à jour !
Merci beaucoup!
15 juil. 2022 à 10:38
Bonjour,
Techniquement on pourrait faire des Map<String, Map<String, File>> mais je ne sais pas si c'est très pertinent pour ton programme.
Au départ on avait une conversion d'un fichier CSV (avec une section pour chacune de tes colonnes) vers un fichier XML, avec une Map on avait une conversion de plusieurs fichiers vers un même fichier XML (avec une section pour chacun de tes fichiers), maintenant tu veux rajouter encore une section mais elle représenterait quoi dans tes fichiers CSV ?
Si tu veux complexifier ton fichier XML (quitte à mettre de côté la partie CSV) on peut soit revenir aux DocumentBuilder comme tu avais dans ta première discussion, soit passer par une classe perso qui permet de gérer tes différents niveaux d'imbrication.
Exemple :
15 juil. 2022 à 11:54
En fait, je voudrais avoir mon document comme suit XML :
<section1>
<sous_section1>
fichier1
</sous_section1>
<sous_section2>
fichier1
<sous_section2>
</section1>
Et les sections me permettraient de décomposer une section du type : (c'est un exemple)
Ma première section = MasterFile
Ce que je mets dans mon MasterFIle:
Sous section 1 : info sur fournisseur
Sous section 2 : info sur client
sous section 3 :...
Après si c'est fastidieux ou non pertinent niveau programme, ce n'est pas très grave de ne pas avoir ces sous-sections.
Merci de votre aide!