Response响应字符流和字节流数据
文章目录
- 一、Response响应字符数据(这个流不需要关闭)
- 1.1 通过对象获取字符输出流
- 1.2 通过字符输出流输出数据
- 1.3 问题:输出中文乱码
- 1.3.1 setHeader
- 1.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.jpg
FileInputStream 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();
Response响应字符流和字节流数据相关推荐
- Response响应字符数据(解决乱码问题),字符数据(文件输出)
Response响应字符数据(解决乱码问题),字符数据(文件输出) Request:使用request对象来获取请求数据 Response:使用response对象来设置响应数据 Reponse的继承 ...
- Response设置响应数据、Response完成重定向(对比 forword)、路径问题、Response响应字符数据、Response响应字节数据
文章目录 Response Response 设置响应数据功能介绍 Response 完成重定向 与请求转发(forword)对比 路径问题 Response 响应字符数据 Response 响应字节 ...
- 笔记整理5----Java语言高级(五--完结)21 字符流与字节流+22 多线程+23 网络编程
21 字符流与字节流+22 多线程+23 网络编程 第10天 IO流 今日内容介绍 标准输入流 & 转换流 & 打印流 对象操作流 Properties集合 第1章标准输入 ...
- java 字符流与字节流区别_JAVA 字符流与字节流的区别
Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...
- java中字符流 字节流_理解Java中字符流与字节流的区别
1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个"流动的方向",通常可 ...
- java字符流和字节流的区别_java字符流与字节流的区别是什么
java中字符流与字节流的区别: 1.字节流操作的基本单元为字节:字符流操作的基本单元为Unicode码元. 2.字节流默认不使用缓冲区:字符流使用缓冲区. 3.字节流通常用于处理二进制数据,实际上它 ...
- java binaryreader_Java字符流与字节流区别与用法分析
本文实例讲述了Java字符流与字节流区别与用法.分享给大家供大家参考,具体如下: 字节流与字符流主要的区别是他们的的处理方式 流分类: 1.Java的字节流 InputStream是所有字节输入流的祖 ...
- 字符流何用, 字节流呢
java中字符流用于读取文本, 而字节流一般用于读取类似视频,音频的非文本文件, 对吗? Java中字符流通常用于读取文本文件,而字节流通常用于读取非文本文件,如视频.音频.图像等二进制文件. 字符流 ...
- JAVA I/O流 字符流和字节流、节点流和处理流(包装流、过滤流)、缓冲流
JAVA IO流 一.相关概念 1.分类: 区别和联系 代码 嵌套的IO流关闭的问题 一.相关概念 I/O流: Input/Output Stream,文件输入输出流. 1.分类: 输入流 和 输出流 ...
最新文章
- 您需要了解有关Angular中的ng-template,ng-content,ng-container和* ngTemplateOutlet的所有信息...
- VS2010 SP1 Beta与VisualSVN的冲突引起VS2010关闭时重启
- 最近项目重构的一些感想
- 自动生成Hibernate框架结构
- java代码如何降低重复率_影响网站跳出率的主要因素及如何降低网站跳出率?...
- $(ajax) jquery+ajax 交互
- 能源36号文解读_中国能源报
- 零基础学Python(第十六章 函数·重点)
- java中的values函数_巧用valueat函数(快逸免费版)
- 算法(12)-leetcode-explore-learn-数据结构-双链表的设计
- 2018 年,React 将独占web前端框架鳌头?
- MongoDB高级——安全
- java八种包装_Java的八种基本数据类型及其包装类
- utilities——C++常用仿函数(二)
- 「专题训练」Collecting Bugs(POJ-2096)
- 可以把视频从竖屏转换成横屏吗
- mysql离散查询_MySQL多表查询与子查询
- 远程springmvc ajax请求乱码,网络编程springMVC解决ajax请求乱码的三种方法
- php doctrine 使用,php - 使用doctrine2删除级联
- STM32应用(七)JY901九轴姿态模块(串口DMA空闲中断和I2C通信)