1、创建文件夹
/** * 判断文件夹是否存在 * @param myPath */ public static void judeDirExists(File myPath) { if (!myPath.exists()) { myPath.mkdirs();//多级文件夹目录 //myPpath.mkdir();//单级文件夹目录 System.out.println("创建文件夹路径为:"+ myPath.getPath()); } }
2、修改文件夹名称
/** * 通过文件路径直接修改文件名 * @param filePath 需要修改的文件的完整路径 * @param newFileName 需要修改的文件的名称 * @return */ private static String modifyFileName(String filePath, String newFileName) { File f = new File(filePath); if (!f.exists()) { // 判断原文件是否存在 return null; } newFileName = newFileName.trim(); if ("".equals(newFileName)) // 文件名不能为空 return null; String newFilePath = null; if (f.isDirectory()) { // 判断是否为文件夹 newFilePath = filePath.substring(0, filePath.lastIndexOf("/")) + "/" + newFileName; } else { newFilePath = filePath.substring(0, filePath.lastIndexOf("/"))+ "/" + newFileName + filePath.substring(filePath.lastIndexOf(".")); } File nf = new File(newFilePath); if (!f.exists()) { // 判断需要修改为的文件是否存在(防止文件名冲突) return null; } try { f.renameTo(nf); // 修改文件名 } catch(Exception err) { err.printStackTrace(); return null; } return newFilePath; }
3、文件附件形式下载
/** * 下载文档文件 * @param request * @param response * @param file_name * @throws IOException */ @RequestMapping(value = "/download_dex_privacy.do/{file_name}") public void downloadDexDoc(@PathVariable("file_name") String file_name,HttpServletRequest request, HttpServletResponse response) throws IOException { String path=request.getServletContext().getRealPath("/WEB-INF/classes/dex_doc"); System.out.println(path); File file=new File(path+"/"+file_name); // 获取输入流 InputStream bis = new BufferedInputStream(new FileInputStream(file)); // 假如以中文名下载的话 // 转码,免得文件名中文乱码 file_name = URLEncoder.encode(file_name, "UTF-8"); // 设置文件下载头 response.addHeader("Content-Disposition", "attachment;filename=" + file_name); // 1.设置文件ContentType类型,这样设置,会自动判断下载文件类型 response.setContentType("multipart/form-data"); BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream()); int len = 0; while ((len = bis.read()) != -1) { out.write(len); out.flush(); } out.close(); }
4、上传文件
/** * 添用户收款方式信息 * @param receipt * @return */ @RequestMapping(value = "add.json") @ResponseBody public ReturnReceipt addReceipt(@RequestParam("file") MultipartFile file, String fundsPassword, Receipt receipt,HttpServletRequest request, HttpServletResponse response) { BasePage_Model pageModel=SetDefaultPage(request); ReturnReceipt returnReceipt=new ReturnReceipt(); if(pageModel.user_cookie_model.phone==null){ try { response.sendRedirect("/login"); return null; } catch (IOException e) { logger.error("ReceiptController==>addReceipt==>未登录跳转异常==>"+e.getMessage()); } } if (file.isEmpty()) { returnReceipt.status=ReturnReceipt.status_102; returnReceipt.message="上传失败,请选择文件"; }else{ ReceiptMode receiptMode=new ReceiptMode(); receiptMode.id=receipt.receiptModeId; ReturnReceiptMode returnReceiptMode=receiptModeDao.queryReceiptModeById(receiptMode); if(returnReceiptMode.status==ReturnReceiptMode.status_100){ ReceiptMode receipt_mode=returnReceiptMode.receipt_mode; String fileName= pageModel.user_cookie_model.phone+DateUtil.getTimeStamp(); boolean file_state=uploadFile(file,receipt_mode.name,fileName); if(file_state){ Receipt _receipt=new Receipt(); _receipt.phone=pageModel.user_cookie_model.phone; _receipt.receiptModeId=receipt.receiptModeId; _receipt.receiptInfo=receipt.receiptInfo+","+fileName; ReturnReceipt _returnReceipt=receiptDao.addReceipt(_receipt); returnReceipt.status=_returnReceipt.status; returnReceipt.message=_returnReceipt.message; }else{ returnReceipt.status=ReturnReceipt.status_103; returnReceipt.message="添加收款方式非法操作"; } }else{ returnReceipt.status=ReturnReceipt.status_103; returnReceipt.message="添加收款方式非法操作"; } } return returnReceipt; } public boolean uploadFile(MultipartFile file,String receiptName,String fileName){ String filePath = ConfigDefault.receipt_mode_url + "/" + receiptName + "/"; File dir = new File(filePath); if (!dir.exists()) { dir.mkdirs(); } File dest = new File(filePath + fileName + ".png"); try { file.transferTo(dest); return true; } catch (IOException e) { logger.error("ReceiptController==>uploadFile==>IOException==>" + e.getMessage()); return false; } }
5、