鱼C论坛

 找回密码
 立即注册
查看: 3884|回复: 1

以下代码是什么意思?

[复制链接]
发表于 2020-12-20 16:22:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class DownServlet extends HttpServlet {
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        response.setHeader("Content-Disposition","attachment;filename=1.jpg");
        
        FileInputStream in = new FileInputStream(this.getServletContext().getRealPath("1.jpg"));
        OutputStream out = response.getOutputStream();

        byte[]bs = new byte[1024];
        int i=0;
        while ((i=in.read(bs))!=-1){
                 out.write(bs,0,i);
        }
        in.close();
    }
以下代码怎么理解????
byte[]bs = new byte[1024];
        int i=0;
        while ((i=in.read(bs))!=-1){
                 out.write(bs,0,i);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-24 11:30:07 | 显示全部楼层
在Java 文件的I/O中 FileInputStream 会将文件转为输入流  通过read()可以读取输入流中的数据, 当read()返回-1时代表读取结束(即读取到流的结尾)
read()方法可以传入一个参数(一个byte数组), 成为读取时的Buffer, 可以理解为一次读取多少个字节, 这里的new byte[1024]即为一次读取1024字节
再将读取的Buffer写入到输出流中

具体可以参考Java的输入输出流
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 19:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表