Java中操作文件输入输出流
1.获取下载文件的路径
String realPath = "E:\\Projects\\javaweb02\\servlet01\\target\\classes\\1.jpg";
System.out.println("下载文件的路径"+realPath);
2.取得下载的文件名
String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
3.设置想办法让浏览器能下载我们需要的东西
resp.setHeader("Content-Disposition","attachment;filename="+fileName);
4.获取文件的输入流
FileInputStream in = new FileInputStream(realPath);
// System.out.println("xjw");
5.创建缓冲区
int len = 0;
byte[] buffer = new byte[1024];
6.获取OutStream对象
ServletOutputStream out = resp.getOutputStream();
7.将fileInputStream写入缓冲区,用OutStream将缓冲区的数据输出到客户端
while((len = in.read(buffer)) >0){
out.write(buffer,0,len);
}
in.close();
out.close();
总结
//1.获取下载文件的路径
String realPath = "E:\\Projects\\javaweb-02\\servlet-01\\target\\classes\\1.jpg";
System.out.println("下载文件的路径"+realPath);
// //2.下载的文件名是啥
String fileName = realPath.substring(realPath.lastIndexOf("\\")+1);
// //3.设置想办法让浏览器能下载我们需要的东西
resp.setHeader("Content-Disposition","attachment;filename="+fileName);
//
// //4.获取文件的输入流
FileInputStream in = new FileInputStream(realPath);
System.out.println("xjw");
// //5.创建缓冲区
int len = 0;
byte[] buffer = new byte[1024];
// //6.获取OutStream对象
ServletOutputStream out = resp.getOutputStream();
// //7.将fileInputStream写入缓冲区,用OutStream将缓冲区的数据输出到客户端
while((len = in.read(buffer)) >0){
out.write(buffer,0,len);
}
in.close();
out.close();