了解Java IO

了解Java IO,java,Java,我还是一个java程序员新手。我在学习JavaIO时注意到,在书中以及在线教程中,他们没有提到scanner类。他们总是提到,创建输入/输出流读取器对象并使用它们进行读写 我非常熟悉scanner类,阅读之后我开始认为scanner不是用java读取控制台输入/文件的正确方法 请澄清我的疑问,如果你能给我一个简单易懂的教程,那就太好了。我已经查阅了oracle文档和其他流行网站。阅读Herbert schildt的书&可怕的头第一本java书(barf..barf)你会明白a)很多关于java的

我还是一个java程序员新手。我在学习JavaIO时注意到,在书中以及在线教程中,他们没有提到scanner类。他们总是提到,创建输入/输出流读取器对象并使用它们进行读写

我非常熟悉scanner类,阅读之后我开始认为scanner不是用java读取控制台输入/文件的正确方法

请澄清我的疑问,如果你能给我一个简单易懂的教程,那就太好了。我已经查阅了oracle文档和其他流行网站。阅读Herbert schildt的书&可怕的头第一本java书(barf..barf)

你会明白a)很多关于java的材料是多年前写的,Scanner是相对较新的。b) 在某些情况下,Scanner是正确的工具,但在所有情况下,您都可以将原始流用于二进制或文本阅读器

正如您所怀疑的,扫描仪是简单文本文档的正确选择

你已经评估了你正在阅读的材料,并给出了它的上下文(比如它有多旧)没有任何教程可以帮助你做到这一点

您需要了解a)许多关于Java的资料是多年前编写的,而Scanner是相对较新的。b) 在某些情况下,Scanner是正确的工具,但在所有情况下,您都可以将原始流用于二进制或文本阅读器

正如您所怀疑的,扫描仪是简单文本文档的正确选择


你已经评估了你正在阅读的材料,并给出了它的上下文(比如它有多旧)没有任何教程可以帮助你做到这一点

scanner类是一种特殊的文件读取器,它针对读取文本文件进行了优化。如果要读取其他文件类型,scanner类不是最佳的。 这里有一个很好的概述。汇总表如下:

io包包含许多类,您的程序可以使用这些类来读写数据。大多数类实现顺序访问流。顺序访问流可分为两组:读写字节的访问流和读写Unicode字符的访问流。每个顺序访问流都有其特殊性,例如读取或写入文件,在读取或写入数据时过滤数据,或序列化对象


阅读本文后,您应该了解哪些工具类为i/o提供了一些方便的实用程序类。

scanner类是一种特殊的文件读取器,它针对读取文本文件进行了优化。如果要读取其他文件类型,scanner类不是最佳的。 这里有一个很好的概述。汇总表如下:

io包包含许多类,您的程序可以使用这些类来读写数据。大多数类实现顺序访问流。顺序访问流可分为两组:读写字节的访问流和读写Unicode字符的访问流。每个顺序访问流都有其特殊性,例如读取或写入文件,在读取或写入数据时过滤数据,或序列化对象

阅读本文后,您应该了解哪些工具类为i/o提供了一些方便的实用程序类。

Java io包支持字节级和字符级操作。两者都可以以流式或缓冲方式完成。可以找到关于这些IO类型的示例

Scanner对象用于将格式化输入分解为令牌,并根据其数据类型转换单个令牌。 Java io包支持字节级和字符级操作的示例。两者都可以以流式或缓冲方式完成。可以找到关于这些IO类型的示例

Scanner对象用于将格式化输入分解为令牌,并根据其数据类型转换单个令牌。
我最讨厌的一个例子是StringBuffer。Java 5.0(2004)中提供并推荐了另一种替代方案StringBuilder,但您现在仍然可以使用它:P
Scanner
大约从2004年开始就已经存在了,这是Java生命周期的一半以上。@EJP很好,尽管新库需要很长时间才能成为标准的工作方式。我最讨厌的一个是StringBuffer。Java 5.0(2004)中提供并推荐了另一种替代方案StringBuilder,但您现在仍然可以使用它:P
Scanner
大约从2004年开始就已经存在了,这是Java生命周期的一半以上。@EJP很好的一点,尽管新库需要很长时间才能成为标准的工作方式。如果我没记错的话,Scanner最适合读取人类可读形式的输入(例如,我想从System.in中输入5个数字,然后是一行文本,然后是两个十进制数字)。(如果我没有记错,请纠正我)如果我回忆正确,扫描仪最适合读取人类可读形式的输入(例如,我想从System.in中输入5个数字,然后是一行文本,然后是两个十进制数字)。(如果我错了,请纠正我)