文件下载Controller

@RequestMapping("/fileDownLoad")
 public ResponseEntity<byte[]> fileDownLoad(HttpServletRequest request) throws Exception{
  
   String downloadFilePath="D:\\Data\\Download";//从我们的上传文件夹中去取
         String filename = "SocketClient-Android-Of-Final-Assignment.apk";
         File file = new File(downloadFilePath+File.separator+filename);//新建一个文件
        
         HttpHeaders headers = new HttpHeaders();//http头信息
        
         String downloadFileName = new String(filename.getBytes("UTF-8"),"iso-8859-1");//设置编码
        
         headers.setContentDispositionFormData("attachment", downloadFileName);
        
         headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
        
         //MediaType:互联网媒介类型  contentType:具体请求中的媒体类型信息
        
         return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED);
        
 }

文件夹内容监听和文件上传

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.monitor.FileAlterationListener;
import org.apache.commons.io.monitor.FileAlterationMonitor;
import org.apache.commons.io.monitor.FileAlterationObserver;
 
public class FileListener {
    public static void main(String[] args) throws Exception {
        File directory = new File("H:/test");
        // 轮询间隔 5 秒
        long interval = TimeUnit.SECONDS.toMillis(5);
        // 创建一个文件观察器用于处理文件的格式
        FileAlterationObserver observer = new FileAlterationObserver(directory, FileFilterUtils.and(
        FileFilterUtils.fileFileFilter(),FileFilterUtils.suffixFileFilter(".txt")));
        //设置文件变化监听器
        observer.addListener(new MyFileListener());
        FileAlterationMonitor monitor = new FileAlterationMonitor(interval,observer);
        monitor.start();
    }
   
}
final class MyFileListener implements FileAlterationListener{
    @Override
    public void onDirectoryChange(File arg0) {
        System.out.println("文件目录发生改变!!!");
       
    }
    @Override
    public void onDirectoryCreate(File arg0) {
        System.out.println("文件目录创建成功!!!");
    }
    @Override
    public void onDirectoryDelete(File arg0) {
        System.out.println("文件目录已经删除!!!");
       
    }
    @Override
    public void onFileChange(File arg0) {
        System.out.println("文件发生改变!!!");
       
    }
    @Override
    public void onFileCreate(File arg0) {
     File arg1=arg0;
     System.out.println(arg1);
      InputStream in = null;
         OutputStream out = null;
     try {
 
        String srcPath = arg0.toString();
        File parentDir = new File("\\\\192.168.1.104\\test");
        File targetPath = new File(parentDir,   srcPath.substring(srcPath.lastIndexOf("\\")));
        in = new FileInputStream(srcPath);
         out = new FileOutputStream(targetPath);
     
       
            byte[] bs = new byte[1024];
            int len = -1;
            while((len = in.read(bs)) != -1) {
                out.write(bs, 0, len);
            }}catch(Exception e){
          e.printStackTrace();
         }
         
        finally {
            try {
                out.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
            try {
                in.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println("上传成功!!");
        System.out.println("文件创建成功!!!");
       
    }
    @Override
    public void onFileDelete(File arg0) {
        System.out.println("文件删除成功!!!");
       
    }
    @Override
    public void onStart(FileAlterationObserver arg0) {
        System.out.println("开始!!!");
       
    }
    @Override
    public void onStop(FileAlterationObserver arg0) {
        System.out.println("停止!!!");
       
    }
   
}
运行程序通过url实现文件下载
public static void downloadHttpUrl(String url, String dir, String fileName) {
  try {
   URL httpurl = new URL(url);
   File dirfile = new File(dir); 
         if (!dirfile.exists()) { 
          dirfile.mkdirs();
         }
   FileUtils.copyURLToFile(httpurl, new File(dir+fileName));
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

文件下载Controller,文件夹内容监听,文件上传,运行程序通过url实现文件下载的更多相关文章

  1. 基于element ui 实现七牛云自定义key上传文件,并监听更新上传进度

    借助上传Upload 上传组件的 http-request 覆盖默认的上传行为,可以自定义上传的实现 <el-upload multiple ref="sliderUpload&quo ...

  2. 监听 input上传文件, 获取文件名称,

    <div class="import-box pr" > <span class="model-address-txt">导入文件:&l ...

  3. java:(监听,上传,下载)

    1.监听: index.jsp: <%@ page language="java" import="java.util.*" pageEncoding=& ...

  4. java 监听文件或文件夹变化

    今天遇到一个新需求,当从服务器下载文件后用指定的本地程序打开,不知道何时文件下载完成,只能考虑监听文件夹,当有新文件创建的时候打开指定程序. 在此给出一个完整的下载和打开过程: 1.下载文件 jsp页 ...

  5. 取得文件夹内容信息(使用IShellFolder接口)

    翻译自MSDN 2005 -> Win32 和 COM 开发 -> User Interface -> Windows User Experience -> Windows S ...

  6. c# 监听文件夹动作

    static FileSystemWatcher watcher = new FileSystemWatcher(); /// <summary>        /// 初始化监听     ...

  7. Java NIO.2 使用Path接口来监听文件、文件夹变化

    Java7对NIO进行了大的改进,新增了许多功能: 对文件系统的访问提供了全面的支持 提供了基于异步Channel的IO 这些新增的IO功能简称为 NIO.2,依然在java.nio包下. 早期的Ja ...

  8. java 监听文件或者文件夹变化的几种方式

    1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...

  9. 【转载】java 监听文件或者文件夹变化的几种方式

    1.log4j的实现的文件内容变化监听 package com.jp.filemonitor; import org.apache.log4j.helpers.FileWatchdog; public ...

随机推荐

  1. 如何开发一款html5(H5)跨平台 k12动画/交互课件/游戏

    flash交互课件能生动表达教学内容,也深受广大教育工作者的喜爱,但是目前flash课件只能在pc电脑平台上进行展示,且目前苹果公司已经不再支持flash各类产品,也就是后续苹果ios pc系统也已经 ...

  2. JS将图片转为base64

    var getDataFromImg = function(img) { var canvas = document.createElement('canvas'); var context = ca ...

  3. 时间规划在Optaplanner上的实现

    在与诸位交流中,使用较多的生产计划和路线规划场景中,大家最为关注的焦点是关于时间的处理问题.确实,时间这一维度具有一定的特殊性.因为时间是一维的,体现为通过图形表示时,它仅可以通过一条有向直线来表达它 ...

  4. LAB1 partIV

    PartIV 实现 处理worker 失败情况. worker 处理失败,master 应该重新分配该任务给其他的worker 处理. rpc 失败情况复杂,可能worker 结果回应丢失了,也有可能 ...

  5. Lubuntu下小巧好用的Python编辑工具Geany

    在Lubuntu系统上有很多的Python编辑器,如eclipse,PyCharm等,功能繁多,市场占有率高,但动辄几百M的体积有些巨大,博主今天推荐一款精简且易用的Python开发工具--Geany ...

  6. Lubuntu下安装Python3.6

    Lubuntu下系统自带的Python版本是2.X,由于开发环境要求Python3,于是我们安装Python3.6 1.在终端输入以下命令: sudo add-apt-repository ppa:j ...

  7. [转]Github 下载指定文件夹

    来自:https://blog.csdn.net/qq_35860352/article/details/80313078 操作步骤 step1:转换链接地址 点开”/examples”子文件,复制浏 ...

  8. [UE4]修改瞬移操作方式,默认正前方

    瞬移的时候,如果箭头指向正前方的角度跟中心线相差不大,则可以强制箭头指向中心线. 因为向量也可以表示方向,因此只要只要判断向量长度就是了,判断VectorLength值即可:

  9. Java spring实现文件下载

    一,实现目的,后台写一个controller,然后前台页面点击文件下载,实现文件下载功能.(文件是存放于服务器的磁盘上的) @RequestMapping("/filesdownloads& ...

  10. spring事务[转]

    https://www.cnblogs.com/cnmenglang/p/6410848.html 先了解事务的7种传播属性: PROPAGATION_REQUIRED -- 支持当前事务,如果当前没 ...