InputStream 转换 InputStreamReader再转换BufferedReader

最后一般是转换成BufferedReader来读取字符串

InputStream inStream = request.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inStream));

.InputStream、OutputStream

处理字节流的抽象类

InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等.

OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等.

2.InputStreamReader  OutputStreamWriter

处理字符流的抽象类

InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流.

OutputStreamWriter是字符流通向字节流的桥梁,它将字符流转换为字节流.

3.BufferedReader BufferedWriter

BufferedReader 由Reader类扩展而来,提供通用的缓冲方式文本读取,readLine读取一个文本行,

从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取。

BufferedWriter  由Writer 类扩展而来,提供通用的缓冲方式文本写入, newLine使用平台自己的行分隔符,

将文本写入字符输出流,缓冲各个字符,从而提供单个字符、数组和字符串的高效写入。

InputStream能从來源处读取一個一個byte,
所以它是最低级的,
例:

[java] view plain copy

  1. import <a href="http://lib.csdn.net/base/17" class=‘replace_word‘ title="Java EE知识库" target=‘_blank‘ style=‘color:#df3434; font-weight:bold;‘>Java</a>.io.*;
  2. public class Main {
  3. public static void main(String[] args) {
  4. try {
  5. FileInputStream fis=new FileInputStream("d://desktop//test.txt");
  6. int i;
  7. try {
  8. while((i=fis.read()) != -1){
  9. System.out.println(i);
  10. }
  11. /*假設test.txt檔裡頭只有一個文字 "陳" ,且其編碼為 utf8
  12. * 輸出
  13. *  233
  14. 153
  15. 179
  16. */
  17. } catch (IOException e) {
  18. // TODO Auto-generated catch block
  19. e.printStackTrace();
  20. }
  21. } catch (FileNotFoundException e) {
  22. // TODO Auto-generated catch block
  23. e.printStackTrace();
  24. }
  25. }
  26. }

InputStreamReader
 InputStreamReader封裝了InputStream在里头,
 它以较高级的方式,一次读取一个一个字符,
 下例是假设有一个编码为utf8的文档,
 其內容只有一个中文字 "陳"

[java] view plain copy

  1. import java.io.*;
  2. public class Main {
  3. public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
  4. FileInputStream fis=new FileInputStream("d://desktop//test.txt");
  5. try {
  6. InputStreamReader isr=new InputStreamReader(fis,"utf8");
  7. int i;
  8. while((i=isr.read()) != -1){
  9. System.out.println((char)i);  //輸出  陳
  10. }
  11. } catch (Exception e) {
  12. // TODO Auto-generated catch block
  13. e.printStackTrace();
  14. }
  15. }
  16. }

BufferedReader
BufferedReader则是比InputStreamReader更高级,
它封裝了StreamReader类,
一次读取取一行的字符

[java] view plain copy

  1. import java.io.*;
  2. public class Main {
  3. public static void main(String[] args) throws FileNotFoundException, UnsupportedEncodingException {
  4. FileInputStream fis=new FileInputStream("d://desktop//test.txt");
  5. try {
  6. InputStreamReader isr=new InputStreamReader(fis,"utf8");
  7. BufferedReader br=new BufferedReader(isr);
  8. String line;
  9. while((line=br.readLine()) != null){
  10. System.out.println(line);
  11. }
  12. } catch (Exception e) {
  13. // TODO Auto-generated catch block
  14. e.printStackTrace();
  15. }
  16. }
  17. }
时间: 2024-10-07 16:10:56

InputStream 转换 InputStreamReader再转换BufferedReader的相关文章

InputStream 、 InputStreamReader 、 BufferedReader

1.InputStream.OutputStream 处理字节流的抽象类 InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等. OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等. 2.InputStreamReader  OutputStreamWriter 处理字符流的抽象类 InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流. Output

Java 把long 转换成 日期 再转换成String类型

1 /** 2 * 把long 转换成 日期 再转换成String类型 3 */ 4 public String transferLongToDate(String dateFormat, Long millSec) { 5 SimpleDateFormat sdf = new SimpleDateFormat(dateFormat); 6 Date date = new Date(millSec); 7 return sdf.format(date); 8 } 上面是方法   第一个参数:da

InputStream 、 InputStreamReader 、 BufferedReader三者的区别

InputStream.OutputStream 处理字节流的抽象类 InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等. OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等. 2.InputStreamReader  OutputStreamWriter 处理字符流的抽象类 InputStreamReader 是字节流通向字符流的桥梁,它将字节流转换为字符流. OutputSt

Javascript-自定义对象转换成JSon后如何再转换回自定义对象

man是自定义的对象,使用var tim = JSON.stringify(man); var newman=JSON.parse(tim)后newman的类型是"object"并不是一个Man,怎么才能变回一个Man呢? function Man() { this._type = "man"; this.name=""; this.run = function () { alert("run!!"); alert(this.

InputStream、InputStreamReader和BufferedReader的区别

转自:https://www.cnblogs.com/redick/p/6644594.html 1.InputStream.OutputStream 处理字节流的抽象类 InputStream 是字节输入流的所有类的超类,一般我们使用它的子类,如FileInputStream等. OutputStream是字节输出流的所有类的超类,一般我们使用它的子类,如FileOutputStream等. 2.InputStreamReader  OutputStreamWriter 处理字符流的抽象类 I

openvino:yolov3转换成tenserflow模型再转换成openvino模型,并用神经计算棒一代加速树莓派3b+

在转换yolo3是时遇到了问题: [ ERROR ]  List of operations that cannot be converted to IE IR:        [ ERROR ]      LeakyRelu (72)        [ ERROR ]          detector/darknet-53/Conv/LeakyRelu ........ [ ERROR ]  Part of the nodes was not translated to IE. Stoppe

C# JSON转换以及编码转换

C# JSON转换以及编码转换 一.C# Json转换 首先需要下载安装Newtonsoft.Json.dll,下载地址 引用后再添加:using Newtonsoft.Json;using Newtonsoft.Json.Converters;即可使用. String转JSON String json=JsonConvert.SerializeObject(str); JSON转String String str=JsonConvert.DeserializeObject<String>(j

第二十一篇 Java 数据类型的定义 ,以及基础类型的自动转换和强制转换

大家好,今天呢我吧我所学到的一些知识点共享给大家,希望大家看完之后,要是有什么不懂的,请随时联系我,要是觉得我写的不是很好的 ,还希望你们能够谅解一下,因为小弟我刚学会写博客也没多久,很多格式和方法都不是很完善,希望大家多多包涵,好了 废话就不多说了,来谈一下今天我所学到的一些知识点吧: 今天我主要是学到了一些Java中的数据类型,其中,Java中的数据类型分为俩类------基础数据类和逻辑数据类,下面我所介绍的都是基本数据类的一些分类,至于逻辑类,由于使用次数过少,所以今天就不再这里多做介绍

处理数据类型转换,数制转换、编码转换相关的类

MXS&Vincene  ─╄OvЁ  &0000014 ─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好,但是绝大部分人是死在明天晚上,只有那些真正的英雄才能见到后天的太阳. MXS&Vincene  ─╄OvЁ:We're here to put a dent in the universe. Otherwise why else even be here? 正文>>>>>