Java创建文件夹、创建文件、上传文件,下载文件
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创建文件夹、创建文件、上传文件,下载文件的更多相关文章
- 使用paramiko模块远程登录并上传或下载文件
1.paramiko安装 1)安装PyCrypto2.6 for Python 2.7 64bit.地址:http://www.voidspace.org.uk/python/modules.shtm ...
- ftp上传或下载文件工具类
FtpTransferUtil.java工具类,向ftp上传或下载文件: package utils; import java.io.File; import java.io.FileOutputSt ...
- 如何在Linux中使用sFTP上传或下载文件与文件夹
如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...
- Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)
一.接收参数(postman发送) 1.form表单 @RequestParam("name") String name 会把传递过来的Form表单中的name对应 ...
- Linux学习笔记:使用ftp命令上传和下载文件
Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...
- 11、只允许在主目录下上传和下载文件,不允许用putty登录
创建用户xiao, 使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...
- 利用SecureCRT上传、下载文件(使用sz与rz命令),超实用!
利用SecureCRT上传.下载文件(使用sz与rz命令),超实用! 文章来源:http://blog.csdn.net/dongqinliuzi/article/details/39623169 借 ...
- Linux--用SecureCRT来上传和下载文件
SecureCRT下的文件传输协议有以下几种:ASCII.Xmodem.Ymodem.Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. Xmodem:这种古老的传输协议速度较慢,但由 ...
- js上传文件带参数,并且,返回给前台文件路径,解析上传的xml文件,存储到数据库中
ajaxfileupload.js jQuery.extend({ createUploadIframe: function(id, uri) { //create frame var frameId ...
- SecureCRT来上传和下载文件
引用:https://www.cnblogs.com/zhengyihan1216/p/6260667.html Linux--用SecureCRT来上传和下载文件 SecureCRT下的文件传输协议 ...
随机推荐
- IBGP的自己下一跳,指定源命令。
neighbor router-id update-source loopback int 当两者并不是以物理接口为搭建邻居的时候,就得使用指定源,充当TCP接口. neighbor router-i ...
- 2.11 DataBinding 简单使用
DataBindIng 在我理解看来类似于其他语言当中的全局变量,只修改一处就可全部修改 添加位置和代码如下: 打开DataBinding 开关: dataBinding { enabled true ...
- Kmp--P3375 【模板】KMP字符串匹配
题目描述 如题,给出两个字符串 s1 和 s2,其中 s2 为 s1 的子串,求出 s2 在 s1 中所有出现的位置. 为了减少骗分的情况,接下来还要输出子串的前缀数组 next. (如果你不知道这 ...
- swift中使用UIColllectionView实现横向轮播的一般方法
// // HomeLiveRankCell.swift // YYSwiftProject // // Created by Domo on 2018/7/28. // Copyright ...
- [ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.1.1:war
创建springboot项目,且不采用<parent>引入springboot时,pom.xml如下: <?xml version="1.0" encoding= ...
- DispatcherServlet继承体系
GenericServlet implements Servlet, ServletConfig, java.io.Serializable | HttpServlet ...
- jvm调优原则
合理规划jvm性能调优 JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响.但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松.为了 ...
- kube-controller-manager配置详解
KUBE_MASTER="--master=http://10.83.52.137:8080" KUBE_CONTROLLER_MANAGER_ARGS=" "
- Windows 远程桌面连接 CentOS7 (xrdp)
Windows 远程桌面连接 CentOS7 (xrdp) 前提: CentOS安装桌面,如果无桌面,请执行: yum -y groups install "GNOME Desktop&qu ...
- preg_match()//explode()// 输出函数//assert()//trim()
1.preg_match() 这是一个正则表达式匹配的函数,其用法如下: 查找文本字符串"php": <?php //模式分隔符后的"i"标记这是一个大小 ...