2016-07-21 5 views
0

Tomcat과 함께 Echo Studio 3이라는 이전 프레임 워크를 사용하는 Java 프로젝트에서 CSV 파일을 생성하고 다운로드하려고합니다.Java에서 CSV 파일 생성 및 다운로드

여기 내 코드입니다 :

코드가 실행됩니다
List<Object> reportCount = this.getReport(accountId); 
ArrayList<String[]> result = new ArrayList<String[]>(); 
for (Object list: reportCount) { 
    String[] rowReport = (String[]) list; 
    result.add(new String[]{String.valueOf(rowReport[0]),String.valueOf(rowReport[1])}); 
} 

File filename = new File("report.csv"); 
FileWriter fw = new FileWriter(filename); 
fw.append("Name"); 
fw.append(','); 
fw.append("Count"); 
fw.append('\n'); 
for (String[] ls: result){ 
    fw.append(ls[0].toString()); 
    fw.append(','); 
    fw.append(ls[1].toString()); 
    fw.append('\n'); 
} 
try { 
    fw.flush(); 
    fw.close(); 
} catch (Exception e) { 
    System.out.println("Error while flushing/closing fileWriter !!!"); 
    e.printStackTrace(); 
} 

는, 아무 일도 발생하지 않고, 내가 오류 메시지가 없습니다. 디버그 모드를 실행하면 결과가 데이터로 채워지고 breakpoint pass는 flush()를 throw하고 오류가 발생하지 않고 클라이언트는 생성 된 파일을 가져 오지 못합니다.

답변

0

파일을 현재 작업 디렉토리에 씁니다.이 파일은 Tomcat과 같은 컨테이너에서 프로그램을 실행하고 있으면 예상하지 못할 수 있습니다.

프로그램이 호출을 실행 한 것을 보았을 때 코드 경로가 절대 경로로 변경되어 해당 가설을 테스트하여 코드가 실제로 올바르게 작성되는지 확인했습니다. 만약 그렇다면, 그것은 단지 경로 문제 일뿐입니다.

전화를 추가하여 현재 작업 디렉토리 1을 찾을 수도 있습니다.