4
자바를 사용하여 CSV 파일을 생성 할 예정입니다. 다음은 코드의 일부입니다.자바를 사용하여 CSV 파일 만들기
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');
문제는 CSV 파일을 성공적으로 작성한 것입니다. for 루프에서 k3은 시간 형식으로 표시됩니다. 2013/07/22 15:40:23.
초는 "23"을 표시 할 수 없습니다. 다른 사람들은 잘하고 있습니다. 무슨 문제가 도와주세요.
이
내 전체 클래스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();
}
}
}
이 왜 중 하나 [사용 가능한 CSV 라이브러리 (http://stackoverflow.com/questions/101100/csv-를 사용 api-for-java)? – assylias
먼저 컬렉션의 내용을 확인 (또는 적어도 제공)해야합니다. 콘솔에 시간을 인쇄하면 제대로 표시됩니까? – Martin
@assylias 왜냐하면 csv는 매우 간단해서 라이센스 조건을 확인해야하는 외부 라이브러리에 의존 할 필요가 없기 때문입니다. ","및 새 줄 바꿈은 CSV – AlexWien