我仍然是一个新手java程序员。我正在学习Java IO,并注意到在这本书和在线教程中,他们并没有谈论scanner类。他们总是提到,创建输入/输出流读取器对象,并使用它们来读取或写入。
我非常熟悉scanner类,在阅读之后我开始认为scanner可能不是用java读取控制台输入/文件的正确方式。
请澄清我的疑问,如果你能给我一个简单易懂的教程,那就太好了。我已经查阅了甲骨文文档和其他流行的网站。阅读赫伯特·斯奇尔特的书&可怕的头第一java书(barf..barf)
发布于 2012-07-29 16:03:55
scanner类是一种特殊的文件读取器,它针对读取文本文件进行了优化。如果您要读取其他文件类型,则scanner类不是最佳选择。一个很好的概述可以在这里找到java i/o。此处的摘要表单如下:
java.io包包含许多类,您的程序可以使用这些类来读写数据。大多数类都实现了顺序访问流。顺序访问流可以分为两组:读写字节的和读写Unicode字符的。每个顺序访问流都有其特殊性,例如从文件读取或写入文件,在读取或写入数据时过滤数据,或者序列化对象。
阅读本文后,您应该研究一下Apache Commons I/O,它为您提供了一些方便的i/o实用程序类。
发布于 2012-07-29 15:59:06
你要明白,a)很多关于Java的材料是几年前写的,而Scanner是相对较新的。b)在某些情况下使用正确的工具进行扫描,但您可以在所有情况下对二进制文件使用原始流,对文本使用阅读器。
正如您所怀疑的,Scanner是简单文本文档的正确选择。
你已经评估了你正在阅读的材料,并给出了背景(比如它有多老),没有任何教程可以帮助你做到这一点。;)
https://stackoverflow.com/questions/11707575
复制相似问题