微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java中的Scanner类出现问题

如何解决Java中的Scanner类出现问题

| 我使用
FileOutputStream
类在文件中写入了一些二进制数据。现在,我想用
Scanner
类来阅读它,但是不能。是否可以使用Scanner类读取二进制文件?如果是,那怎么办? 编辑:
I solve it by in.nextline();
    

解决方法

        要读取二进制文件,可以将DataInputStream或ByteBuffer与NIO一起使用。     ,           现在,我想使用Scanner类阅读它,但是不能。 这是正确的观察。扫描程序不会读取二进制数据,它不是为此目的而设计的。扫描程序希望提供一个实现Readable接口的对象,该对象的合同规定只能返回字符。它可以接受InputStream,但正如API所述:使用基础平台的默认字符集将流中的字节转换为字符。   是否可以使用Scanner类读取二进制文件?如果是,那怎么办? 按照前面的解释,这是不可能的,除非您以某种方式编写了它们,以便上述转换字节的过程返回字符。如果需要访问流中的二进制数据,则需要避免使用Readers和Readable对象。您将需要处理原始InputStreams或FilterInputStreams,它们将返回字节数组或合适的对象。在您的特定情况下,您将需要一个FileInputStream。 提示: 在Java中使用字符时,请使用Reader和Writer对象。 避免将以上内容用于二进制数据。请改用InputStreams和OutputStreams。 了解如何在java.io中实现装饰器模式。     ,        您是否阅读了API文档?   一个可以解析的简单文本扫描仪   基本类型和字符串使用   常用表达。 http://download.oracle.com/javase/1,5.0/docs/api/java/util/Scanner.html 这可以帮助您: 用Java读取结构化二进制文件的最佳方法     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。