您的位置:首页 > 其它

文件下载Controller,文件夹内容监听,文件上传,运行程序通过url实现文件下载...

2020-04-23 11:25 435 查看

文件下载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();   }  }

转载于:https://www.cnblogs.com/SchrodingersCat/p/FileSystem.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
ZZH2294148034 发布了0 篇原创文章 · 获赞 0 · 访问量 1235 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐