我似乎无法确定任何区别InputStreamReader
和FileReader
另外两个被初始化的方式。使用一个或另一个有什么好处吗?其他大多数文章都介绍了FileInputStream
vs
InputStreamReader
,但与此FileReader
相反。在我看来,它们都有相同的目的。
首先,InputStreamReader
可以处理所有输入流,而不仅仅是文件。其他示例是网络连接,类路径资源和ZIP文件。
其次,FileReader
直到Java
11不允许您指定编码,而只使用平台默认编码,这使它几乎无用,因为当代码在具有不同平台默认编码的系统上运行时,使用它会导致数据损坏。
由于Java 11 FileReader
的用于包装的一个有用的快捷键InputStreamReader
周围FileInputStream
。
问题内容: 使用over 的好处是什么,反之亦然。 这是一个实际的例子: 这是一个使用InputStreamReader的示例(显然是在InputStream的帮助下): Reader是否以特殊方式处理数据? 只是想让我了解Java 的整个流数据方面。 问题答案: 它们代表了一些不同的东西。 它是所有可能的字节 流 的祖先类,它本身没有用,但是所有子类(如您正在使用的子类)都非常适合处理二进制数据
主要内容:1 什么是Java InputStreamReader,2 Java InputStreamReader的构造方法,3 Java InputStreamReader的方法,4 Java InputStreamReader的例子1 什么是Java InputStreamReader InputStreamReader是从字节流到字符流的桥梁:它读取字节,并使用指定的字符集将它们解码为字符。它使用的字符集可以按名称指定,也可以明确指定,也可以接受平台的默认字符集。 2 Java Input
我想从网站获取一个字符串,并将其转换为数组。它在eclipse中工作,但如果我想在Android应用程序中使用它,它就不起作用了。我知道,这一定是一个愚蠢的错误,但我不知道它在哪里。 InternetHandler: 主要的 显示 它总是返回错误数组,但idk为什么:C logcat: HttpEngineering. sendRequest(HttpEngineering. java: 239)
但这似乎更糟。如果InputStreamReader由于某种原因抛出,InputStream将永远不会关闭,对吗?这是C++中调用其他构造函数的构造函数的常见问题。异常会导致内存/资源泄漏。 这里有最佳实践吗?
问题内容: 以下两种缓冲方法之间有什么区别(如果有)? 问题答案: 更有效率。在本身不具备大的缓冲。所述可以被设置为具有比较大的缓冲区。将在将作为一个瓶颈。 简而言之:您应该通过漏斗而不是瓶子来读取数据。 更新 :这是一个小基准程序,只需复制“粘贴”即可运行它。您不需要准备文件。 使用Seagate Momentus 7200.3 硬盘在Latitude E5500上的结果:
无效的流头:0000002b at java.io.objectinPutStream.ReadStreamHeader(ObjectinPutStream.java:781)at java.io.objectinPutStream.(ObjectinPutStream.java:278)at servicerEquest.run(servicerEquest.java:24)at java.ut