2014-02-21 1 views
0

У меня есть код, который предназначен для открытия локального главного файла, создания дополнений и сохранения файла как путем перезаписи основного файла, так и перезаписывания пишите защищенную копию в доступное сетевое местоположение.Java: перезапишите существующий файл на сервере с измененным файлом (excel sheet) с помощью File API

Но я не могу заменить существующий файл на сервере. Я также прошел через другую ссылку на stackoverflow, но все равно не добился успеха.

Kndly помогите мне! Rgds Код

public class UploadAndSaveExcelAction extends Action 

{ 

public ActionForward execute(

ActionMapping mapping, 

ActionForm form, 

HttpServletRequest request, 

HttpServletResponse response) throws Exception{ 

UploadAndSaveExcelForm myForm = (UploadAndSaveExcelForm)form; 
String target = null; 
if (myForm.getTheExcel().getFileName().length() > 0) { 
FormFile myFile = myForm.getTheExcel(); 
    System.out.println("" +myFile); 

String fileName = myFile.getFileName(); 


byte[] fileData = myFile.getFileData(); 

//Get the servers upload directory real path name 

String filePath = getServlet().getServletContext().getRealPath("/") +"Sheet\SparesUsed.xls"; 

    /* Save file on the server */ 
//create the upload folder if not exists 
File folder = new File(filePath); 
if(folder.exists()){ 
    System.out.println("Excel Sheet folder is existed therefore deleted"); 
    folder.deleteOnExit(); 


} 
String filePath1 = getServlet().getServletContext().getRealPath("/") +"Sheet"; 
File folder1 = new File(filePath1+"\\" + FileName); 
    System.out.println("Excel Sheet afterr delete folder is "+folder1); 
boolean makedirectory=folder1.mkdir(); 
System.out.println(" Making Directory "+makedirectory); 

if(!fileName.equals("")){ 

    System.out.println("Server path for Excel :" +filePath); 

//Create file 

File fileToCreate = new File(filePath, fileName); 

//If file does not exists create file 

if(!fileToCreate.exists()){ 

FileOutputStream fileOutStream = new FileOutputStream(fileToCreate); 

fileOutStream.write(fileData); 

fileOutStream.flush(); 

fileOutStream.close(); 
target ="success"; 
} return mapping.findForward(target);} 

ответ

0

Вы можете использовать библиотеку Spoon.

Я знаю, что прошло с момента публикации, но одна из наиболее доступных для поиска библиотек преобразования Java выглядит как Spoon (http://spoon.gforge.inria.fr/).

Из Ложка Главного (http://spoon.gforge.inria.fr/):

Ложки позволяет преобразовать (см ниже) и анализ (см примера) исходный код. Spoon предоставляет полную и мелкозернистую метамодель Java, где любой элемент программы (классы, методы, поля, операторы, выражения ...) могут быть доступны как для чтения, так и для модификации. Ложка берет в качестве исходного кода источника и производит преобразованный исходный код, готовый к компиляции.

+0

Mr, Jwalin Извините, я не мог вас достать, для чего нужна библиотека для ложки? Я добавил код, вы можете понять его со ссылкой .. – ACJ

+0

Spoon library используется для изменения и замены файла на сервере. вы проверили домашнюю страницу библиотеки ложки. Здесь также имеется пример кода. –

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