为什么80%的码农都做不了架构师?>>>   

原文 MINA

nio 基本用法

​​​​​​​java.nio.file.Files;

​​​​​​​

​​​​​​​createDirectory - 创建目录

示例

public void init() {try {Path rootLocation = Paths.get("/tmp");Files.createDirectory(rootLocation);} catch (IOException e) {throw new StorageException("Could not initialize storage", e);}}

copy - 复制文件到指定路径

示例

public void store(MultipartFile file) {try {if (file.isEmpty()) {throw new StorageException("Failed to store empty file " + file.getOriginalFilename());}Files.copy(file.getInputStream(), this.rootLocation.resolve(file.getOriginalFilename()));} catch (IOException e) {throw new StorageException("Failed to store file " + file.getOriginalFilename(), e);}}

其中,Path 的 resolve方法:根据文件名中解析得到完整Path。

walk - 遍历指定路径下的文件到流中(可以通过 json返回给页面)

public static java.util.stream.Stream<java.nio.file.Path> walk(java.nio.file.Path start,int maxDepth,@NotNull java.nio.file.FileVisitOption... options)throws java.io.IOException

示例

public Stream<Path> loadAll() {try {return Files.walk(this.rootLocation, 1).filter(path -> !path.equals(this.rootLocation)).map(this.rootLocation::relativize);} catch (IOException e) {throw new StorageException("Failed to read stored files", e);}}

其中,Stream的 filter 和 map方法:对Stream进行一些修正。

FileSystemUtils - springframework 的工具类,递归删除

public void deleteAll() {FileSystemUtils.deleteRecursively(rootLocation.toFile());
}

--

项目地址 http://git.oschina.net/lemosd/gs-uploading-files

转载于:https://my.oschina.net/lemos/blog/885461

Nio 中的方法 - 文件上传相关推荐

  1. ASP.NET中常用的文件上传下载方法

    ASP.NET中常用的文件上传下载方法 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务 ...

  2. aspx 中轻松实现文件上传

    aspx 中轻松实现文件上传 在aspx中实现文件上传是非常容易的,如下代码: private string upLoadFile(System.Web.UI.HtmlControls.HtmlInp ...

  3. .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)

    文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...

  4. [转]ASP.NET中常用的文件上传下载方法

    1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以及下载方法 4.上传Internet上的资源 第一部分:     首先我们来说一下如何解决ASP.NET ...

  5. SpringBoot中实现批量文件上传

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 本文在SpringBoot实现文件上传的基础上,参照: h ...

  6. Java Web项目中遇到的文件上传与下载问题

    (转发自:https://www.cnblogs.com/xdp-gacl/p/4200090.html)   在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中 ...

  7. 关于wex5中如何实现文件上传

    继前面的甘特图之后,这次来说说wex5中如何实现简单的文件上传和删除,直接上代码 文件上传 public static JSONObject FileUpload(JSONObject params, ...

  8. Vue 中实现 excel文件上传功能

    场景: 上传excel表,并将excel表中的数据构建成实体 <div class="pull-right" v-if="doc"><el-u ...

  9. java struts 读取文件,java中Struts2 的文件上传和下载示例

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

最新文章

  1. MySQL · 社区动态 · MariaDB 10.2 前瞻
  2. 全链路灰度这样做,新需求迭代上线也能放心干饭
  3. DCMTK:读取DICOM数据集的测试程序
  4. 一文讲清K8s如何改变美团的云基础设施
  5. linux修改可用的最大进程数量和可打开的最大文件数
  6. 军事方面的软件系统与瀑布模型
  7. php开发v2ex,继续求 PHP 开发工作
  8. Linux学习笔记(13)
  9. Ubuntu 20编译安装GCC 7.3.0
  10. 终极单词index 排序 M-N
  11. 淮阴工学院计算机硕士生导师,硕士生导师概况
  12. DongDong认亲戚(map+并查集)
  13. python乒乓球比赛规则介绍_乒乓球比赛规则介绍(上中下)
  14. zabbix-server仪表板出现: 不
  15. 21CN推出免费10G邮箱
  16. Python——下载音乐(干货)
  17. 产品经理工作是什么,你知道了?
  18. 使用google.gson工具时-JSON(谷歌)的使用
  19. golang邮箱发送验证码
  20. 计算机与代数---如何计算ln---方法和实现

热门文章

  1. 工作事件五点作法和网络中所产生的Winsock连接与互动
  2. Citrix XenApp 6.0 发布应用程序时 ICO 错误的解决方法
  3. ios 部分string颜色_ios 设置字符串中某段字符的颜色
  4. python编程到底难不难_养成下面几个编程习惯,学习python并不难!
  5. 为什么电脑不能打字_为什么新电脑不能安装win7系统?
  6. Java开发四年的程序员想再学习一门语言,该选着C还是Python呢?
  7. 太阳直射点纬度计算公式_高中地理——每日讲1题(二十四节气、正午太阳高度、日出时间)...
  8. 磁盘上没有足够的空间完成此操作_三年多啦,那么多IT人还没有搞定这个问题...
  9. JSP 自定义标签介绍
  10. 单片机干嘛的?嵌入式是单片机吗?