如何解决需要帮助优化bufferedReader的输出
| 我正在将文件发送到servlet中的浏览器。我可以使用的最高JDK是1.4.2,而且我还必须通过URL检索文件。我也尝试使用\“ guessContentTypeFromStream \”,但是我不断得到null,这在下面的代码示例中使用时会引发异常。目前,我必须自己编写代码或确定内容类型。 我想知道的是,如何重新分解此代码,以便文件传输尽可能快,并且还可以使用guessContentTypeFromStream? (注意\“ res \”是HttpServletResponse)。URL servletUrl = new URL(sFileURL);
URLConnection conn = servletUrl.openConnection();
int read;
BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
String sContentType =conn.guessContentTypeFromStream(conn.getInputStream());
res.setContentType(sContentType);
//res.setContentType(\"image/jpeg\");
PrintWriter os = res.getWriter();
while((read = bis.read()) != -1){
os.write(read);
}
//Clean resources
os.flush();
解决方法
这就是您通常读取/写入数据的方式。
in = new BufferedInputStream(socket.getInputStream(),BUFFER_SIZE);
byte[] dataBuffer = new byte[1024 * 16];
int size = 0;
while ((size = in.read(dataBuffer)) != -1) {
out.write(dataBuffer,size);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。