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、

Java创建文件夹、创建文件、上传文件,下载文件的更多相关文章

  1. 使用paramiko模块远程登录并上传或下载文件

    1.paramiko安装 1)安装PyCrypto2.6 for Python 2.7 64bit.地址:http://www.voidspace.org.uk/python/modules.shtm ...

  2. ftp上传或下载文件工具类

    FtpTransferUtil.java工具类,向ftp上传或下载文件: package utils; import java.io.File; import java.io.FileOutputSt ...

  3. 如何在Linux中使用sFTP上传或下载文件与文件夹

    如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...

  4. Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)

            一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...

  5. Linux学习笔记:使用ftp命令上传和下载文件

    Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...

  6. 11、只允许在主目录下上传和下载文件,不允许用putty登录

    创建用户xiao,   使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...

  7. 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!

    利用SecureCRT上传.下载文件(使用sz与rz命令),超实用! 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39623169 借 ...

  8. Linux--用SecureCRT来上传和下载文件

    SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. Xmodem:这种古老的传输协议速度较慢,但由 ...

  9. js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中

    ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...

  10. SecureCRT来上传和下载文件

    引用:https://www.cnblogs.com/zhengyihan1216/p/6260667.html Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议 ...

随机推荐

  1. tensorflow--保存加载模型

    s=mnist.train.next_batch(batch_size)print(xs.shape)print(ys.shape) # #从集合中取全部变量# tf.get_collection() ...

  2. 使用ansible tasks生成linux巡检报告

    一直想做个关于资源巡检的功能,其需求就是通过邮件的形式来查看linux资源的使用情况,超出一定的阈值时高亮显示出来.也有人说啦,这个需求通过监控zabbix, prometheus都能做呀,何必自己重 ...

  3. mysql自增长字段设置

    mysql版本:5.7.27 说明:表中只能设置一个自增长字段[主键.索引(其他普通字段不行))] 设置自增长开始值: ALTER TABLE table_name AUTO_INCREMENT=10 ...

  4. 关于SOA的架构设计案例分析

    SOA体系架构及相关技术,主要应用在企业应用集成领域,它能够以服务的方式共享和复用企业现有应用资产,保护用户IT投资,并能够以服务的方式构建新的业务流程,对企业流程进行灵活重构和优化,增强业务的敏捷性 ...

  5. 给rar文件加个自定义头

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  6. grid布局——从入门到放弃

    基本知识 CSS grid 布局有两个核心组成部分:wrapper(网格容器,父元素)和items(网格项,子元素). 基本属性 属性 含义 display: grid 网格布局(父元素设置) gri ...

  7. css块级元素

    <CSS权威指南>中文字显示:任何不是块级元素的可见元素都是内联元素.其表现的特性是“行布局”形式,这里的“行布局”的意思就是说其表现形式始终以行进行显示.比如,我们设定一个内联元素bor ...

  8. ZJNU 2356 - 六学家

    “选出来三个六学家,他们的编号是i,j,k,满足i<j<k,且a[k]=a[j]-a[i]” 所以输入第i个数a[i]时,直接让答案加上前i-1个数中能构成差值为a[i]的数量即可 然后让 ...

  9. 移动端— Touch事件轮播图

    虽然 以前也写过手机端页面 .当时用的jquery moblie 框架.啥也不懂 就知道复制粘贴出效果 不敢改内部样式.现在呢  了解手机端原理 一些基本的概念 视口 缩放 后 .再去想以前写的页面  ...

  10. ccs-基础-阴影

    1.html代码 <div class="demo demo1">假如生活欺骗了你</div> <div class="demo demo2 ...