100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Response响应字符流和字节流数据

Response响应字符流和字节流数据

时间:2023-01-14 00:33:32

相关推荐

Response响应字符流和字节流数据

文章目录

一、Response响应字符数据(这个流不需要关闭)1.1 通过对象获取字符输出流1.2 通过字符输出流输出数据1.3 问题:输出中文乱码1.3.1 setHeader1.3.2 setContentType 二、Response响应字节数据2.1 通过Response对象获取字节输出流2.1.1 读取文件2.1.2 获取response字节输出流 2.2 字节流输出2.2.1 方法一 :将一个一个的字节输出2.2.2 方法二 : 在pom.xml文件中添加 commons-io 2.3 关闭字节流

提示:在Maven Web项目下,创建的Servlet中的doGet方法中演示。

一、Response响应字符数据(这个流不需要关闭)

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。

1.1 通过对象获取字符输出流

// 示例代码如下:// response 为doGet方法中获取来的response对象PrintWrite out = response.getWrite();

1.2 通过字符输出流输出数据

out.write(" I got");

1.3 问题:输出中文乱码

设置返回客户端的数据类型,在通过response对象获取字符输出流的前面加上(两种方法):

1.3.1 setHeader

response.setHeader("content-type,text/html");

1.3.2 setContentType

response.setContentType("text/html;charset=utf-8");

完整代码展示:

@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");PrintWriter out = response.getWriter();out.write("你好");out.write("<h1>hello</h1>");}

浏览器运行结果:

二、Response响应字节数据

可以用来输出图片等

2.1 通过Response对象获取字节输出流

2.1.1 读取文件

输入流

// 这里以绝对路径为例子,输出abc.jpgFileInputStream files = new FileInputStream("e://code.jpg");

2.1.2 获取response字节输出流

输出流

ServletOutputStream os = response.getOutputStream();

2.2 字节流输出

2.2.1 方法一 :将一个一个的字节输出

byte[] by = new byte[1024];int len = 0;while((len = files.read(by)) != -1) {os.write(by,0,len)}

2.2.2 方法二 : 在pom.xml文件中添加 commons-io

pom.xml:

<dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency>

添加后调用相对应的方法:

IOUtils.copy(files,os);

2.3 关闭字节流

files.close();

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。