我的代码旨在通过覆盖主文件和覆盖可访问网络位置上的写保护副本来打开本地主文件、进行添加和保存文件。
但是我无法替换服务器上的现有文件。我也像这样浏览了堆栈溢出上的其他链接,但仍然没有成功。
肯德利协助我!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("/") +"SheetSparesUsed.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);}
您可以使用勺子库。
我知道距离原始帖子已经有一段时间了,但是看起来更容易访问的Java转换库之一是Spoon(http://spoon.gforge.inria.fr/)。
从勺子主页(http://spoon.gforge.inria.fr/):
Spoon 使您能够转换(见下文)和分析(见示例)源代码。Spoon提供了一个完整和细粒度的Java元模型,其中任何程序元素(类,方法,字段,语句,表达式......)都可以访问以进行读取和修改。Spoon 将源代码作为输入,并生成准备编译的转换源代码。