2014-09-13 3 views
0

У меня есть этот метод на моей стороне сервера, который сохраняет новый файл excel в моей военной папке.GWT: попытка сохранить файл на стороне сервера

Но когда я запускаю тот же код из моего кота, он не сохраняет файл в любом месте,

Я ожидаю, что, чтобы сохранить файл в моей папке проекта в WebApps здесь:

E: \ 7 кот \ апач-кот-7.0.54 \ WebApps \ пищевой цепи

Но его не спасает его там ..

Пожалуйста, наставит меня, где я не прав. Сохранение файла при запуске на локальном хосте.

Код:

public String exportToExcel(ArrayList<ExcelDataDTO> excelDataList) { 
    try { 
     FileOutputStream fileOut = new FileOutputStream(".\\images\\report.xls");//"D:\\POI111.xls" 
     HSSFWorkbook workbook = new HSSFWorkbook(); 
     HSSFSheet worksheet = workbook.createSheet("Orders Worksheet"); 
     for(int i=0; i< excelDataList.size(); i ++){ 
     HSSFRow row1 = worksheet.createRow((short) 0); 
     row1.createCell((short) 0).setCellValue(excelDataList.get(i).getChain()); 
     row1.createCell((short) 1).setCellValue(excelDataList.get(i).getOrder()); 
     row1.createCell((short) 2).setCellValue(excelDataList.get(i).getShop()); 
     row1.createCell((short) 3).setCellValue(excelDataList.get(i).getCustomerAddress()); 
     row1.createCell((short) 4).setCellValue(excelDataList.get(i).getCar()); 
     row1.createCell((short) 5).setCellValue(excelDataList.get(i).getLoaded()); 
     } 
     workbook.write(fileOut); 
     fileOut.flush(); 
     fileOut.close(); 

    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    return "exported"; 
} 
+0

Вы заглянули в рабочий каталог Tomcat? Это должно быть под '$ TOMCAT_HOME/work/Catalina /' –

+0

спасибо, я смотрю здесь: E: \ tomcat 7 \ apache-tomcat-7.0.54 \ work \ Catalina \ localhost \ foodchain .... Но его не здесь – junaidp

ответ

0

«Текущий» каталог может изменяться в зависимости от окружающей среды, поэтому вы не должны полагаться на него. Внутри метода сервлет, вы можете использовать этот код, чтобы получить абсолютный путь к файлу корня WebAPP:

String rootDir = getServletContext().getRealPath("/"); 

В вашем случае он должен вернуть: E:\tomcat 7\apache-tomcat-7.0.54\webapps\foodchain\

Используйте его, чтобы построить путь к файлу XLS и вы должны быть хорошими.

Смежные вопросы