每当我必须处理文件处理或套接字编程等主题时,我都必须在互联网上查找示例代码,以了解如何使用xxStreamxx、xxReader和xxWriter类。我希望能够自己使用它们,并知道它们是如何工作的。
我该如何学习?
主要思想很简单。
流用于二进制读/写。读写器用于字符读写(在Java中,字节不是字符,因为字符是unicode)。如果可以将二进制流转换为字符序列,那么就有一个合适的流读取器。
例如,FileInputStream extends InputStream
是ty读取文件二进制文件。如果这是要读取的文本文件,则将此对象包装到提供字符集的InputStreamReader extends Reader
中。现在你可以阅读字符了。
如果你想做readLine()
,你需要把这个阅读器包装到BufferedReader
中。
作家也是如此。
因此,这个想法是包装以获得新的能力。
首先,您必须学习和理解什么是流。如果你不理解它们背后的概念,你就会一直在复制代码。因此,请阅读"java教程的基本I/O课程":http://docs.oracle.com/javase/tutorial/essential/io/streams.html.关于这个主题的全面介绍来自javapassion.com:http://www.javapassion.com/javase/javaiostream.pdf.
在阅读时,正如我通常告诉学生的那样:"写代码就会出错":-)
在这个网站上,您可以找到关于如何用Java编写自己的流的各种示例:http://java.sun.com/developer/technicalArticles/Streams/WritingIOSC/
仅仅看例子有时对你的帮助远不止解释。。。
请滚动到页面的中间和底部。