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();