inputstreamreader和filereader联系与区别

LZ太热 LZ太热     2022-10-08     579

关键词:

两者关系:

FileReader继承自InputStreamReader ;

区别:

InputStreamReader 是字节流通向字符流的桥梁:它使用指定的 charset 读取字节并将其解码为字符。它使用的字符集可以由名称指定或显式给定,或者可以接受平台默认的字符集。

每次调用 InputStreamReader 中的一个 read() 方法都会导致从底层输入流读取一个或多个字节。要启用从字节到字符的有效转换,可以提前从底层流读取更多的字节,使其超过满足当前读取操作所需的字节。

为了达到最高效率,可要考虑在 BufferedReader 内包装 InputStreamReader。例如:

 BufferedReader in

   =newBufferedReader(new InputStreamReader(System.in));

FileReader是用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。

FileReader用于读取字符流。要读取原始字节流,请考虑使用 FileInputStream

总结:InputStreamReader 是用来读取原始字节流,可指定编码格式,而FileReader是读取字符流,使用系统默认的编码格式,当读取中文文件是易出现乱码问题。

推荐使用:

File file = new File (filename);

InputStreamReader input =new InputStreamReader(new FileInputStream(file),"UTF-8");

        BufferedReader br = new BufferedReader(input);

InputStreamWriter与FileWriter异同点与之类似;

Java 的 BufferedReader 和 InputStreamReader 类有啥区别?

】Java的BufferedReader和InputStreamReader类有啥区别?【英文标题】:WhatisthedifferencebetweenJava\'sBufferedReaderandInputStreamReaderclasses?Java的BufferedReader和InputStreamReader类有什么区别?【发布时间】:2011-11-1415:41:48【问题描述】:Java的BufferedReade 查看详情

在 FileReader 和 InputStreamReader 之间进行选择

】在FileReader和InputStreamReader之间进行选择【英文标题】:ChoosingbetweenFileReaderandInputStreamReader【发布时间】:2012-04-1321:01:00【问题描述】:我有两种方法在java中读取文本文件,一种使用FileReader和其他文件InputStreamFileReaderfr=newFileRea... 查看详情

BufferedReader 和 InputStreamReader 是不是应该显式关闭?

】BufferedReader和InputStreamReader是不是应该显式关闭?【英文标题】:ShouldBufferedReaderandInputStreamReaderbeclosedexplicitly?BufferedReader和InputStreamReader是否应该显式关闭?【发布时间】:2018-05-0101:10:40【问题描述】:我想将InputStream的内容读... 查看详情

reader字符输入流和inputstreamreader和filereader

1、FileReader extends InputStreamReaderextendsReader其中,Reader字符输入流和InputStreamReader和FileReader为字符输入流——写出——读取; 查看详情

outputstreramwriter和inputstreamreader类(代码片段)

...符转换流。OutputStreramWriter将输出的字符流转化为字节流InputStreamReader将输入的字节流转换为字符流但是不管如何操作,最后都是以字节的形式保存在文件中的。【例子1】将字节输出流转化为字符输出流/***将字节输出流转化为字... 查看详情

io流22-字符流-转换流outputstreamwrite和inputstreamreader

转换流InputStreamReaderpackagecn.itcast.demo;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;/**转换流*java.io.InputStreamReader继承Reader*字符输入流,读取文本文件**字节流向字符的桥梁,将字节流转 查看详情

j07-javaio流总结七《inputstreamreader和outputstreamwriter》(代码片段)

...的功能,都不是它们自己实现的,而是,它们分别继承了InputStreamReader和OuputStreamWriter这两个转换流,利用这两个转换流,实现了字节数据与字符数据之间的转换,关于这点可以通过FileReader和FileWriter的源码看出 查看详情

java中的inputstreamreader和outputstreamwriter用法

...ion;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.OutputStreamWriter;publicclassInputStreamReadTest /** *@paramargs */ publicstaticvoidmain(String[]args) //TODOAuto-generatedmethodstub FileInputStreamfis=null; FileOutputStreamfos=null; Inp... 查看详情

75.inputstreamreader和outputstreamwriter(转换流--字节流转换成字符流)(代码片段)

转换流:InputStreamReader  输入字节流转换成输入字符流OutputStreamWriter 输出字节流转换成输出字符流总结:就是字节流转换成字符流,但是不能字节流转换成字节流(联想记忆----只有屌丝想变成高富帅,没有高富帅想变... 查看详情

javai/o:使用inputstreamreader和bufferedreade实现控制器输入输出

InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);Stringreadline;while((readline=br.readLine())!=null){System.out.println(readline);} 查看详情

javai/o:使用inputstreamreader和bufferedreade实现控制器输入输出

InputStreamReaderisr=newInputStreamReader(System.in);BufferedReaderbr=newBufferedReader(isr);Stringreadline;while((readline=br.readLine())!=null){System.out.println(readline);} 查看详情

转换流——outputstreamwriter类与inputstreamreader类

...putStreamWriter:是Writer的子类,将输出的字符流变成字节流InputStreamReader:是Reader的子类,将输入的字节流变成字符流 将字节输出流变成字符输出流//=================================================//FileName: OutputStreamWriter_demo/ 查看详情

javaio-转换流

转换流InputStreamReader和OutputStreamWriter用于字节数据到字符数据之间的转换。InputStreamReader需要和InputStream套接(把InputStream转换成InputStreamReader)OutputStreamWriter需要和OutputStream套接(把OutputStreamWriter转换成OutputStream)转换流在构造 查看详情

GWT,修改使用 InputStreamReader 和 java.net.URL 类通过 Post 发送 HashMap 或其他对象的代码?

】GWT,修改使用InputStreamReader和java.net.URL类通过Post发送HashMap或其他对象的代码?【英文标题】:GWT,modifyingcodethatusesInputStreamReaderandjava.net.URLclasstosendaHashMaporotherobjectthroughPost?【发布时间】:2011-05-0718:46:58【问题描述】:我对GWT还... 查看详情

inputstreaminputstreamreader和reader的关系

InputStream:得到的是字节输入流,InputStream.read("filename")之后,得到字节流Reader:读取的是字符流InputStreamReader:从字节到字符的桥梁。InputStreamReader(InputStream.read("filename"));reader.read(InputStreamReader(InputStreamin));便可从字节变 查看详情

io流中的设计模式

...将字节数据转变成流数据等都用到了适配器模式,下面以InputStreamReader和OutputStreamWriter类为例介绍适配器模式。InputStreamReader和OutputStreamWriter类分别继承了Reader和Writer接口,但要创建它们必须在构造函数中传入一个InputStream和Output... 查看详情

inputstream,inputstreamreader,与reader的关系

InputStream:得到的是字节输入流,InputStream.read("filename")之后,得到字节流Reader:读取的是字符流InputStreamReader:从字节到字符的桥梁。InputStreamReader(InputStream.read("filename"));reader.read(InputStreamReader(InputStreamin));便可从字节变 查看详情

将 InputStreamReader 转换为字符串

】将InputStreamReader转换为字符串【英文标题】:ConvertingInputStreamReaderintoString【发布时间】:2012-12-2413:38:34【问题描述】:有没有更好的方法从InputStreamReader中读取字符串。在Profiler中,我在那里得到了一个内存堆。publicStringgetClien... 查看详情