Я создал метод, который принимает ответ JSON и экспортирует данные в файл Excel и CSV. Я хочу, чтобы метод принимал имя файла в качестве параметра и возвращал объект File/FileHandle из метода.Вернуть файл из java метода
Может ли кто-нибудь помочь мне в этом отношении?
Я использую ниже код для экспорта данных из creteExcel и createCSV.
public void createExcel(PageModel pageModelRequest,PageModel pageModelResponse){
FileOutputStream outputStream=new FileOutputStream(new File("GridData.xlsx"));
createGrid(pageModelResponse, sheet, workbook);
workbook.write(outputStream);
System.out.println("Excel Written");
outputStream.close();
workbook.close();
}
public void createCSV(PageModel pageModelRequest,PageModel pageModelResponse){
String csvFile = "/Users/abhinak4/Desktop/GridData.csv";
FileWriter writer = new FileWriter(csvFile);
createGrid(pageModelRequest, pageModelResponse, writer);
}
В методе createGrid
, я создаю книгу для Excel, и я Добавляя данные, к writer
(writer.append).
Я хочу знать, как я могу принять имя файла как параметры для метода createExcel
и createCSV
и вернуть файл с тем же именем, содержащий данные?
Не можете ли вы изменить подпись методов - тип и параметры возврата? – anacron
Возможный дубликат [Что лучше - использование String или File в качестве типа параметра для методов, принимающих имена файлов] (http://stackoverflow.com/questions/17142469/which-is-better-using-string-or-file-as -parameter-type-for-methods-that-take-f) – liorsolomon
** Для Excel **: я могу отправить fileName как параметр String, но я использую FileOutputStream для записи данных. Поэтому я могу вернуть FileOutputStream непосредственно из этого метода, или мне нужно преобразовать его в объект File. Если мне нужно конвертировать, то как? ** Для CSV **: Я пишу данные через fileWriter. Могу ли я напрямую вернуть файлWriter, или мне нужно преобразовать его в файл-объект. Если да, то как мы его преобразуем? –