gpt4 book ai didi

java - BufferedOutputStream 写入垃圾数据

转载 作者:行者123 更新时间:2023-11-30 05:56:59 25 4
gpt4 key购买 nike

我正在编写下载 servlet,它读取 html 文件并写入 servletOutputStream,传输的文件末尾的问题是添加一些垃圾数据,对此有何建议,

下面是我为此使用的代码


        int BUFFER_SIZE = 1024 * 8;
servOut = response.getOutputStream();
bos = new BufferedOutputStream(servOut);
fileObj = new File(file);
fileToDownload = new FileInputStream(fileObj);
bis = new BufferedInputStream(fileToDownload);
response.setContentType("application/text/html");
response.setHeader("ContentDisposition","attachment;filename="+dump+".html");
byte[] barray = new byte[BUFFER_SIZE];
while ((bis.read(barray, 0, BUFFER_SIZE)) != -1) {
bos.write(barray, 0, BUFFER_SIZE);
}
bos.flush();

最佳答案

bis.read 返回读取的字节数。您需要在 write 调用中考虑到这一点。

类似于:

int rd;
while ((rd=bis.read(...)) != -1) {
bos.write(..., rd);
}

关于java - BufferedOutputStream 写入垃圾数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6453104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com