Ich versuche eine HashMap
zu lesen und in eine CSV-Datei zu schreiben. Ich verwende CSVPrinter
, aber meine Methode gibt keine CSV-Datei zurück.Methode gibt keine CSV-Datei zurück - Java
Dies ist der Code, den ich verwenden: Edited-Code
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVPrinter;
public class SJV{
public File writeCSV(Map featureSet) throws IOException{
CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR);
Map<String, Integer> map = featureSet;
File temp = File.createTempFile("tempfile", ".tmp");
FileWriter fs = new FileWriter(temp);
CSVPrinter csvFilePrinter = new CSVPrinter(fs, csvFileFormat);
//csvFilePrinter.printRecord(FILE_HEADER);
csvFilePrinter.printRecord(map.keySet().toArray());
csvFilePrinter.printRecord(map.values().toArray());
csvFilePrinter.close();
fs.close();
return temp;
}
}
Dies ist der Test habe ich:
public void testWriteCSV() throws IOException {
SJV sj = new SJV();
HashMap<String, Integer> hmap = new HashMap<String, Integer>();
hmap.put("Feature1", 1);
hmap.put("Feature2", 2);
File fs = sj.writeCSV(hmap);
if (fs.exists()){
Scanner input = new Scanner(fs);
while (input.hasNextLine())
{
System.out.println(input.nextLine());
}
input.close();
}
Ich verstehe wirklich nicht, warum das Verfahren nicht ein zurückkehr CSV-Datei.
ist ein Stück Code fehlt. Was ist 'sj'? Wird etwas geschrieben? Irgendwelche Fehler? –
Was liefert die Methode anstelle einer CSV-Datei? – CraigR8806
Es wird eine leere Datei neu abgestimmt. – Kumaresp