List of usage examples for org.apache.commons.fileupload.disk DiskFileItemFactory setSizeThreshold
public void setSizeThreshold(int sizeThreshold)
From source file:com.intranet.intr.contabilidad.EmpControllerGastos.java
@RequestMapping(value = "EupdateGastoRF.htm", method = RequestMethod.POST) public String EupdateGastoRF_post(@ModelAttribute("ga") gastosR ga, BindingResult result, HttpServletRequest request) {/*from w w w . j a v a 2 s. com*/ String mensaje = ""; String ruta = "redirect:EGastos.htm"; //MultipartFile multipart = c.getArchivo(); System.out.println("olaEnviarMAILS"); String ubicacionArchivo = "C:\\glassfish-4.1.1-web\\glassfish4\\glassfish\\domains\\domain1\\applications\\Intranet\\resources\\fotosfacturas"; //File file=new File(ubicacionArchivo,multipart.getOriginalFilename()); //String ubicacionArchivo="C:\\"; DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1024); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> partes = upload.parseRequest(request); for (FileItem item : partes) { if (gr.getIdgasto() != 0) { if (gastosRService.existe(item.getName()) == false) { System.out.println("updateeeNOMBRE FOTO: " + item.getName()); File file = new File(ubicacionArchivo, item.getName()); item.write(file); gr.setNombreimg(item.getName()); gastosRService.updateGasto(gr); } } else ruta = "redirect:EGastos.htm"; } System.out.println("Archi subido correctamente"); } catch (Exception ex) { System.out.println("Error al subir archivo" + ex.getMessage()); } return ruta; }
From source file:com.elasticgrid.rest.ApplicationsResource.java
/** * Handle POST requests: provision a new application. *//* ww w . jav a 2 s . com*/ @Override public void acceptRepresentation(Representation entity) throws ResourceException { super.acceptRepresentation(entity); //To change body of overridden methods use File | Settings | File Templates. try { StorageEngine storageEngine = storageManager.getPreferredStorageEngine(); if (MediaType.MULTIPART_ALL.equals(entity.getMediaType(), true) || MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) { try { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1000240); RestletFileUpload upload = new RestletFileUpload(factory); List<FileItem> files = upload.parseRequest(getRequest()); logger.log(Level.INFO, "Found {0} items", files.size()); for (FileItem fi : files) { if ("oar".equals(fi.getFieldName())) { // download it as a temp file File file = File.createTempFile("elastic-grid", "oar"); fi.write(file); // upload it to storage container logger.log(Level.INFO, "Uploading OAR ''{0}'' to {1}'s container ''{2}''", new Object[] { fi.getName(), storageEngine.getStorageName(), dropBucket }); Container container = storageEngine.findContainerByName(dropBucket); try { container.uploadStorable(file); } catch (StorageException e) { logger.log(Level.SEVERE, String.format("Could not upload OAR '%s' to %s's container '%s'", fi.getName(), storageEngine.getStorageName(), dropBucket), e); throw new ResourceException(Status.SERVER_ERROR_INSUFFICIENT_STORAGE, e); } } } // Set the status of the response. logger.info("Redirecting to " + getRequest().getOriginalRef()); getResponse().setLocationRef(getRequest().getOriginalRef().addSegment("??")); // todo: figure out the proper URL } catch (FileUploadException e) { e.printStackTrace(); throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e); } } else if (new MediaType("application/oar").equals(entity.getMediaType())) { try { // extract filename information Form form = (Form) getRequest().getAttributes().get("org.restlet.http.headers"); // upload it to storage container String fileName = form.getFirstValue("x-filename"); logger.log(Level.INFO, "Uploading OAR ''{0}'' to {1}'s container ''{2}''", new Object[] { fileName, storageEngine.getStorageName(), dropBucket }); Container container = storageEngine.findContainerByName(dropBucket); try { container.uploadStorable(fileName, entity.getStream(), "application/oar"); } catch (StorageException e) { logger.log(Level.SEVERE, String.format("Could not upload OAR '%s' to %s's container '%s'", fileName, storageEngine.getStorageName(), dropBucket), e); throw new ResourceException(Status.SERVER_ERROR_INSUFFICIENT_STORAGE, e); } // Set the status of the response logger.info("Redirecting to " + getRequest().getOriginalRef()); getResponse().setLocationRef(getRequest().getOriginalRef().addSegment("??")); // todo: figure out the proper URL } catch (Exception e) { e.printStackTrace(); throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e); } } else { throw new ResourceException(Status.CLIENT_ERROR_UNSUPPORTED_MEDIA_TYPE); } } catch (Exception e) { e.printStackTrace(); throw new ResourceException(Status.SERVER_ERROR_INTERNAL, e); } }
From source file:com.globalsight.everest.webapp.pagehandler.tm.management.FileUploadHelper.java
private void upload(HttpServletRequest p_request) throws Exception { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1024000); ServletFileUpload upload = new ServletFileUpload(factory); List<FileItem> fileItems = upload.parseRequest(p_request); outFile = saveTmpFile(fileItems);/*from www.j a v a2s . c om*/ }
From source file:emsa.webcoc.cleanup.servlet.UploadServet.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./* ww w . j a v a 2s . co m*/ * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); PrintWriter out = response.getWriter(); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>XML file clean up</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); //Maximum size that will be stored into memory factory.setSizeThreshold(MAXMEMSIZE); //Path to save file if its size is bigger than MAXMEMSIZE factory.setRepository(new File(REPOSITORY)); ServletFileUpload upload = new ServletFileUpload(factory); out.println("<html>"); out.println("<head>"); out.println("<title>XML file clean up</title>"); out.println("</head>"); out.println("<body>"); try { List<FileItem> fileItems = upload.parseRequest(request); Iterator<FileItem> t = fileItems.iterator(); while (t.hasNext()) { FileItem f = t.next(); if (!f.isFormField()) { if (f.getContentType().equals("text/xml")) { //Check weather or not the uploaded file is an XML file String uniqueFileName = f.getName() + "-" + request.getSession().getId() + ".xml"; //Creates unique name String location = (String) this.getServletContext().getAttribute("newFileLocation"); CoCCleanUp clean = new CoCCleanUp(uniqueFileName, location); if (clean.cleanDocument(f.getInputStream()) == 0) { out.println("<h3>" + f.getName() + " was clean</h3>"); out.println(clean.printHTMLStatistics()); out.println("<br /><form action='download?filename=" + uniqueFileName + "' method='post'><input type='submit' value='Download'/></form></body></html>"); } else { out.println("<h3>" + clean.getErrorMessage() + "</h3>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); } } else { out.println("<h3>The file " + f.getName() + " is not an xml file</h3>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); logger.warn("The file " + f.getName() + " is not an xml file: " + f.getContentType()); } } } File repository = factory.getRepository(); cleanTmpFiles(repository); } catch (IOException | FileUploadException e) { out.println("<h3>Something went wrong</h3></br>"); out.println( "<br /><form action='index.html' method='post'><input type='submit' value='Go Back'/></form></body></html>"); } }
From source file:ca.qc.cegepoutaouais.tge.pige.server.UserImportService.java
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { hasError = Boolean.FALSE;//from w w w. j a va 2s . c om writer = resp.getWriter(); logger.info("Rception de la requte HTTP pour l'imporation d'usagers."); DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(SIZE_THRESHOLD); ServletFileUpload uploadHandler = new ServletFileUpload(factory); try { List<FileItem> items = uploadHandler.parseRequest(req); if (items.size() == 0) { logger.error("Le message ne contient pas de fichier " + "d'importation. Le processus ne pourra donc pas " + "continuer."); writer.println("Erreur: Aucun fichier prsent dans le message"); return; } Charset cs = null; for (FileItem item : items) { if (item.getFieldName().equalsIgnoreCase("importFileEncoding-hidden")) { String encoding = item.getString(); if (encoding == null || encoding.isEmpty()) { logger.error("Le message ne contient pas l'encodage utilis " + "dans le fichier d'importation. Le processus ne pourra " + "donc pas continuer."); writer.println("Erreur: Aucun encodage trouv dans les " + "paramtres du message."); return; } cs = Charset.forName(encoding); if (cs == null) { logger.error("L'encodage spcifi n'existe pas (" + encoding + "). " + "Le processus ne pourra donc pas continuer."); writer.println("Erreur: Aucun encodage trouv portant le " + "nom '" + encoding + "'."); return; } } } for (FileItem item : items) { if (item.getFieldName().equalsIgnoreCase("usersImportFile")) { logger.info("Extraction du fichier d'importation partir " + "du message."); BufferedReader reader = new BufferedReader( new InputStreamReader(new ByteArrayInputStream(item.get()), cs)); doUsersImport(reader, req); break; } } if (!hasError) { logger.info("L'importation des usagers s'est termine avec succs."); writer.println("Importation russie!"); } else { logger.info("L'importation des usagers s'est termine avec des erreurs."); writer.println("L'importation s'est termine avec des erreurs."); } } catch (FileUploadException fuex) { fuex.printStackTrace(); logger.error(fuex); } catch (Exception ex) { ex.printStackTrace(); logger.error(ex); } }
From source file:UploadDownloadFile.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response);/*from w ww.j a va 2s . c om*/ String filePath; final String clientip = request.getRemoteAddr().replace(":", "_"); filePath = "/Users/" + currentuser + "/GlassFish_Server/glassfish/domains/domain1/tmpfiles/Uploaded/" + clientip + "/"; System.out.println("filePath = " + filePath); // filePath = "/Users/jhovarie/Desktop/webuploaded/"; File f = new File(filePath); if (!f.exists()) { f.mkdirs(); } isMultipart = ServletFileUpload.isMultipartContent(request); response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); if (!isMultipart) { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); return; } DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. //factory.setRepository(new File("c:\\temp")); factory.setRepository(new File(filePath)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); try { // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<a href='" + currenthost + "/UploadDownloadFile/index.html'><< BACK <<</a><br/>"); String fileName = ""; while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println("Target Location = " + filePath); out.write( "<br/><a href=\"UploadDownloadFile?fileName=" + fileName + "\">Download " + fileName + "</a>"); out.println("</body>"); out.println("</html>"); } catch (Exception ex) { System.out.println("Error in Process " + ex); } }
From source file:com.skin.generator.action.UploadTestAction.java
/** * @param request//from w ww. j a va2 s .com * @return Map<String, Object> * @throws Exception */ public Map<String, Object> parse(HttpServletRequest request) throws Exception { String repository = System.getProperty("java.io.tmpdir"); int maxFileSize = 1024 * 1024 * 1024; DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(repository)); factory.setSizeThreshold(1024 * 1024); ServletFileUpload servletFileUpload = new ServletFileUpload(factory); servletFileUpload.setFileSizeMax(maxFileSize); servletFileUpload.setSizeMax(maxFileSize); Map<String, Object> map = new HashMap<String, Object>(); List<?> list = servletFileUpload.parseRequest(request); if (list != null && list.size() > 0) { for (Iterator<?> iterator = list.iterator(); iterator.hasNext();) { FileItem item = (FileItem) iterator.next(); if (item.isFormField()) { logger.debug("form field: {}, {}", item.getFieldName(), item.toString()); map.put(item.getFieldName(), item.getString("utf-8")); } else { logger.debug("file field: {}", item.getFieldName()); map.put(item.getFieldName(), item); } } } return map; }
From source file:application.controllers.admin.EmotionList.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //upload image to browser for add emotions //upload image to browser for add emotions if (!ServletFileUpload.isMultipartContent(request)) { PrintWriter writer = response.getWriter(); writer.println("Request does not contain upload data"); writer.flush();/*from w ww. j av a 2 s . c om*/ return; } // configures upload settings DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(UploadConstant.THRESHOLD_SIZE); // Location to save data that is larger than maxMemSize. factory.setRepository(new File(System.getProperty("java.io.tmpdir"))); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setFileSizeMax(UploadConstant.MAX_FILE_SIZE); upload.setSizeMax(UploadConstant.MAX_REQUEST_SIZE); // constructs the directory path to store upload file // String uploadPath = Registry.get("Host") +"/emotions-image/"+ UPLOAD_DIRECTORY; String uploadPath = Registry.get("imageHost") + "/emotions-image/" + UploadConstant.UPLOAD_DIRECTORY; // creates the directory if it does not exist File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } //list image user upload String[] arrLinkImage = null; try { int indexImage = 0; // parses the request's content to extract file data List formItems = upload.parseRequest(request); arrLinkImage = new String[formItems.size()]; Iterator iter = formItems.iterator(); // iterates over form's fields while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); // processes only fields that are not form fields if (!item.isFormField()) { String fileName = new File(item.getName()).getName(); String extensionImage = ""; for (int i = fileName.length() - 1; i >= 0; i--) { if (fileName.charAt(i) == '.') { break; } else { extensionImage = fileName.charAt(i) + extensionImage; } } String filePath = uploadPath + File.separator + fileName; File storeFile = new File(filePath); String contentType = item.getContentType(); boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); String fieldName = item.getFieldName(); // saves the file on disk item.write(storeFile); arrLinkImage[indexImage++] = item.getName(); } } } catch (Exception ex) { request.setAttribute("message", "There was an error: " + ex.getMessage()); } // request.setAttribute("arrLinkImage", arrLinkImage); // RequestDispatcher rd = request.getRequestDispatcher("/groupEmotion/emotion/add"); // rd.forward(request, response); // String sessionId = request.getAttribute("sessionIdAdmin").toString(); String sessionId = request.getSession().toString(); String groupId = request.getParameter("groupId"); Memcached.set("arrLinkImage-" + sessionId, 3600, arrLinkImage); response.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); response.setHeader("Location", Registry.get("Host") + "/groupEmotion/emotion/add?groupId=" + groupId); response.setContentType("text/html"); }
From source file:com.food.adminservlet.FoodServlet.java
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int foodid = 0; String foodName = ""; String fooddesc = ""; Double foodprice = 0.0;/*from w w w . ja v a 2 s . c o m*/ String foodCategory = ""; PrintWriter out = response.getWriter(); isMultipart = ServletFileUpload.isMultipartContent(request); FoodBean bkfood = new FoodBean(); FoodBL foodbl = new FoodBL(); try { response.setContentType("text/html"); //java.io.PrintWriter out = response.getWriter( ); DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File("c:\\temp")); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { if (fi.getFieldName().equals("foodid")) { foodid = Integer.parseInt(fi.getString()); } if (fi.getFieldName().equals("foodname")) { foodName = fi.getString(); } if (fi.getFieldName().equals("fooddesc")) { fooddesc = fi.getString(); } if (fi.getFieldName().equals("foodprice")) { foodprice = Double.parseDouble(fi.getString()); } if (fi.getFieldName().equals("foodcate")) { foodCategory = fi.getString(); } out.println("<br>"); } if (!fi.isFormField()) { // Get the uploaded file parameters String fieldName = fi.getFieldName(); fileName = fi.getName(); String contentType = fi.getContentType(); boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); // Write the file if (fileName.lastIndexOf("\\") >= 0) { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\"))); } else { file = new File(filePath + fileName.substring(fileName.lastIndexOf("\\") + 1)); } fi.write(file); out.println("Uploaded Filename: " + fileName + "<br>"); } } out.println(fileName); bkfood.setFoodId(foodid); bkfood.setFoodName(foodName); bkfood.setFoodPrice(foodprice); bkfood.setFoodCateg(foodCategory); bkfood.setFoodDesc(fooddesc); bkfood.setFoodRetreiveImage(fileName); // bkfood.setFoodimage(request.getPart("foodimage")); bkfood.setFoodstatus("Y"); int chk = foodbl.addFoodItems(bkfood); out.println(chk); if (chk == 1) { response.sendRedirect("food.jsp"); } } catch (Exception ex) { out.println(ex); } }
From source file:edu.lafayette.metadb.web.projectman.CreateProject.java
/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response)//from w w w.java 2s. c om */ @SuppressWarnings("unchecked") protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub PrintWriter out = response.getWriter(); JSONObject output = new JSONObject(); String delimiter = ""; String projname = ""; String projnotes = ""; String template = ""; boolean useTemplate = false; boolean disableQualifier = false; try { if (ServletFileUpload.isMultipartContent(request)) { ServletFileUpload servletFileUpload = new ServletFileUpload(new DiskFileItemFactory()); List fileItemsList = servletFileUpload.parseRequest(request); DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(); diskFileItemFactory.setSizeThreshold(40960); /* the unit is bytes */ Iterator it = fileItemsList.iterator(); InputStream input = null; while (it.hasNext()) { FileItem fileItem = (FileItem) it.next(); //MetaDbHelper.note("Field name: "+fileItem.getFieldName()); //MetaDbHelper.note(fileItem.getString()); if (fileItem.isFormField()) { /* * The file item contains a simple name-value pair of a * form field */ if (fileItem.getFieldName().equals("delimiter") && delimiter.equals("")) delimiter = fileItem.getString(); else if (fileItem.getFieldName().equals("projname") && projname.equals("")) projname = fileItem.getString().replace(" ", "_"); else if (fileItem.getFieldName().equals("projnotes") && projnotes.equals("")) projnotes = fileItem.getString(); else if (fileItem.getFieldName().equals("project-template-checkbox")) useTemplate = true; else if (fileItem.getFieldName().equals("project-template")) template = fileItem.getString().replace(" ", "_"); //else if (fileItem.getFieldName().equals("disable-qualifier-checkbox")) //disableQualifier = true; } else input = fileItem.getInputStream(); } String userName = Global.METADB_USER; HttpSession session = request.getSession(false); if (session != null) { userName = (String) session.getAttribute(Global.SESSION_USERNAME); } //MetaDbHelper.note("Delimiter: "+delimiter+", projname: "+projname+", projnotes: "+projnotes+", use template or not? "+useTemplate+" template: "+template); if (useTemplate) { ProjectsDAO.createProject(template, projname, projnotes, ""); output.put("projname", projname); output.put("success", true); output.put("message", "Project created successfully based on: " + template); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User created project " + projname + " with template from " + template); } else { if (ProjectsDAO.createProject(projname, projnotes)) { output.put("projname", projname); String delimiterType = "csv"; if (delimiter.equals("tab")) { delimiterType = "tsv"; disableQualifier = true; // Disable text qualifiers for TSV files. } //MetaDbHelper.note("Delim: "+delimiterType+", projname: "+projname+", input: "+input); if (input != null) { Result res = DataImporter.importFile(delimiterType, projname, input, disableQualifier); output.put("success", res.isSuccess()); if (res.isSuccess()) { output.put("message", "Data import successfully"); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User created project " + projname + " with file import"); } else { output.put("message", "The following fields have been changed"); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User created project " + projname + " with file import"); String fields = ""; ArrayList<String> data = (ArrayList<String>) res.getData(); for (String field : data) fields += field + ','; output.put("fields", fields); } } else { output.put("success", true); output.put("message", "Project created successfully with default fields. No data imported"); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User created project " + projname); } } else { output.put("success", false); output.put("message", "Cannot create project"); SysLogDAO.log(userName, Global.SYSLOG_PROJECT, "User failed to create project " + projname); } } } else { output.put("success", false); output.put("message", "Form is not multi-part"); } } catch (NullPointerException e) { try { output.put("success", true); output.put("message", "Project created successfully"); } catch (JSONException e1) { MetaDbHelper.logEvent(e1); } } catch (Exception e) { MetaDbHelper.logEvent(e); try { output.put("success", false); output.put("message", "Project was not created"); } catch (JSONException e1) { MetaDbHelper.logEvent(e1); } } out.print(output); out.flush(); }