文件下载Controller,文件夹内容监听,文件上传,运行程序通过url实现文件下载...
文件下载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
- 点赞
- 收藏
- 分享
- 文章举报
- 在网站所在文件夹创建软件策略,阻止黑客通过网站上传的程序文件的运行
- Eclipse新建Maven项目并运行(打包)java程序实现hdfs与本地之间的上传或下载文件
- 嵌入式 在arm平台运行ftpd服务器实现文件下载以及上传以及ftp下载url小结
- 黑马程序员-- TCP协议程序,多线程的并发上传,反射技术,反射由来,反射实现通过配置文件运行程序,反射的泛型擦除。
- 通过java程序实现scp上传和下载文件
- 通过FTP服务端来实现匿名用户和基本用户的访问,可以实现文件上传和下载。通过web网站来浏览内容
- 通过文件锁实现,程序开始运行时,先判断文件是否存在,若存在则表明该程序已经在运行了,如果不存在就用open函数创建该文件,程序退出时关闭文件并删除文件。
- MVC 以内容字节数组形式 实现文件上传 下载
- eclipse hadoop windows 运行wordcount程序,上传文件内容为空的原因及解决办法
- Android学习笔记---28_网络通信之通过HTTP协议实现文件上传,组拼http 的post方法,传输内容
- QT实现,通过URL下载文件的接口实现
- php 通过ssh2协议用sftp实现文件上传、下载
- Java通过SSH实现文件上传下载功能实现之一工具类
- 用Java实现FTP批量大文件上传下载(五) --运行效果图
- jsp实现文件上传下载的程序示例
- windows学习记录之MFC通过URL上传下载文件
- 通过<iframe>,实现图片(文件)的上传以及文件(附件)的下载
- Ubuntu下通过sftp远程登录linux系统,并实现上传、下载文件
- Java实现FTP文件与文件夹的上传和下载
- Apache Hadoop 使用Java API操作HDFS之代码实现文件夹遍历文件上传下载