- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在查看java.io
,有些方面让我感到困惑:FileReader
和 InputStreamReader
之间有性能差异吗?
Reader fileReader = new FileReader("input.txt");
Reader fileReader2 = new InputStreamReader(new FileInputStream("input.txt"));
哪一个比另一个更好?
最佳答案
我不会关注性能。我会重点关注它们之间巨大的正确性差异:FileReader
总是使用平台默认编码,这几乎从来都不是一个好主意。
我相信这实际上比在 InputStreamReader
构造函数中指定 Charset
更有效(至少在某些情况下),即使您传入平台默认 Charset
,但为了清晰和正确性,我仍然会选择后者。
当然,现在我可能会直接使用 Files.newBufferedReader
作为一种更简单的方法,a) 让我指定 Charset
; b) 默认为 UTF-8,这正是我通常想要的; c) 创建一个 BufferedReader
,这也是我经常想要的,主要是为了 readLine()
。
关于java - InputStreamReader 上的 FileReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30163430/
首先给大家介绍InputStreamReader 和FileReader的区别,具体内容如下所示: InputStreamReader 和 BufferedReader 。其中最重要的类是 Inp
我在主要 Activity 的 onCreate() 方法中编写了以下内容。 file = new File(this.getFilesDir(), SIMPLE_WORKOUTS); wri
这是我的代码: public static void main(String[] args) { String in = ""; InputStream
我正在尝试从 Socket 读取 UTF-16 字符串。关键是在读取字符串的前几个字符之前我不知道它的长度(以字节为单位)。 所以我像这样打开了InputStreamReader: InputStre
我在 Android 2.2 手机上遇到了一些奇怪的问题。 我打开套接字连接: socket = new Socket(serverAddr, SERVERPORT); messageWriter =
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我在类里面设计的一个小游戏有问题。问题是我有两个客户端连接到服务器。 (client1 和 client2)他们每个人都在运行一个游戏,最后关闭窗口。由于游戏窗口是 JDialog,因此当它关闭时,它
我正在努力学习 Java 并浏览 Android 网站上的示例。我正在获取 XML 文件的远程内容。我能够获取文件的内容,但随后我需要将 InputStream 转换为 String。 public
我想 ping 目标 IP 地址并接收响应。为此,我在 Java 中使用带有 runtime.exec 方法和进程类的 Windows 命令行。我正在使用 inputStreamReader 获取响应
我正在从一个文件中读取数据,不幸的是,该文件具有两种类型的字符编码。 有标题和正文。 header 始终采用 ASCII 格式,并定义了主体编码所用的字符集。 header 的长度不固定,必须通过解析
有没有人碰巧知道下面两种读取输入文件的方法在性能方面是否存在差异?谢谢。 1)用Scanner和File读取文件 Scanner input = new Scanner(new File("foo.t
我有一个正在运行的服务器,它接受通过客户端套接字建立的连接,我需要从该客户端套接字读取输入,现在假设客户端打开了到我的服务器的连接,而不通过服务器的套接字输出流发送任何内容,在这种情况下,当我的服务器
我正在查看java.io,有些方面让我感到困惑: FileReader 和 InputStreamReader 之间有性能差异吗? Reader fileReader = new FileReader
我有一个 InputStreamReader(与 BufferedReader 结合使用)。 我想循环读取Stream的内容 while((line = MyStream.readLine()) !=
Java 中的常见模式是使用 InputStreamReader 从文件中读取字符并将其附加到 StringBuilder;最明显的方法是: int c = reader.read(); sb.app
所以我有一个用 Java 编写的非常简单的服务器: public class SimpleServer { public static void main(String[] args) thr
我必须在读取文件之前检查文件的编码。为了检查编码,我使用了这个方法: try { CharsetDecoder decoder= Charset.forName
我正在尝试通过套接字将字符串从我的 java 服务器发送到 android 客户端。 InputStreamReader 的读取方法返回的不是显示正确的字符串“OK”“�OK”。 服务器的代码如下所示
我在一个项目中基本上有这些代码行,它将输入流复制到输入流读取器中,以便它可以独立流式传输: final InputStream stream = new InputStream(this.in);
我正在尝试解析一个 UTF 16 编码的 JSON 文件,但是我遇到了一个奇怪的问题。 每当我使用 FileInputStream 时,解析文件似乎都从中点开始。例如,如果文件的长度为 40 个字符,
我是一名优秀的程序员,十分优秀!