Je vais créer des fichiers CSV en utilisant java. Voici une partie du code:Créer un fichier CSV en utilisant java
try{
FileWriter writer = new FileWriter(sFileName);
writer.append("Title");
for(StoredArticle sa3:historyFile.keySet()){
for(String k3:sa3.getTimeAndPopularity().keySet()){
writer.append(',');
writer.append(k3);
}
}
writer.append('\n');
Le problème est que je crée avec succès le fichier CSV. Et dans la boucle for k3 est l'heure présentée au format 2013/07/22 15:40:23.
Mais les secondes "23" ne peuvent pas être affichées. Les autres montrent bien. quel est le problème s'il vous plaît aider.
Voici le code de ma classe entière
package uk.ac.ncl.fanyaoxia.createCSV;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import uk.ac.ncl.fanyaoxia.monitor.MonitorRecentUpdates;
import uk.ac.ncl.fanyaoxia.monitor.StoredArticle;
import uk.ac.ncl.fanyaoxia.webpagefetch.ReadXml;
public class CreateCSVFile {
private static Map < StoredArticle, ReadXml > historyFile;
public CreateCSVFile() {
historyFile = new HashMap < StoredArticle, ReadXml >();
}
public void createFile() {
generateCsvFile("HistoryTable.csv");
}
private static void generateCsvFile(String sFileName) {
MonitorRecentUpdates csvFile = new MonitorRecentUpdates();
historyFile = csvFile.getMap();
try {
FileWriter writer = new FileWriter(sFileName);
writer.append("Title");
for (StoredArticle sa3: historyFile.keySet()) {
for (String k3: sa3.getTimeAndPopularity().keySet()) {
writer.append(',');
writer.append(k3);
}
}
writer.append('\n');
for (StoredArticle sa3: historyFile.keySet()) {
writer.append(sa3.getStoredTitle());
for (String k3: sa3.getTimeAndPopularity().keySet()) {
writer.append(',');
writer.append(sa3.getTimeAndPopularity().get(k3).toString());
}
writer.append('\n');
}
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Pourquoi ne pas utiliser l'un des [les bibliothèques CSV disponibles] (http://stackoverflow.com/questions/101100/csv- api-pour-java)? – assylias
Vous devez d'abord vérifier (ou au moins fournir) le contenu de vos collections. Si vous imprimez l'heure sur la console, s'affiche-t-elle correctement? – Martin
@assylias parce que csv est si simple qu'il n'est pas nécessaire d'avoir une dépendance à une librairie externaL où vous devez vérifier la condition de la licence. Writer un "," et une nouvelle ligne, c'est tout ce dont vous avez besoin dans CSV – AlexWien