我开始使用 kotlin 中的流。 现在,当我开始时,我对如何选择正确的输入流和 Reader 类感到困惑。
在java文档中,我发现了大量的阅读器,例如InpustreamReader,FileReader,...都是抽象类阅读器的子类。 对于输入流 FileInpuStream、DataInputStream 等的过程相同,它们是 Inputstream 的子类。
现在问题开始了。哪个读取器针对哪个流,哪个流针对哪个数据。我找不到任何解释
使用 FileReader 作为 FileInputStream 似乎是合乎逻辑的,它的构造函数需要一个 File Objekt。 Socket连接接收数据的流取什么等等???
我很高兴获得解释和帮助。
在搜索您的问题时,我建议您始终寻找“Java IO”而不是“Java Stream”,因为“Stream”通常指的是 Java Stream API,这是一种处理数据的函数式方法。
一个好的起点是这里
读取器用于处理字符数据(文本),而流用于处理原始字节(二进制)。当使用阅读器时,总是可以指定编码,这就是数据如何以人类可读的方式识别和呈现。
现在使用哪一种取决于您的用例。如果您只想移动文件,那么流是一个合适的选择。如果您希望读取这些文件中的数据并打印它或执行任何其他涉及识别文本能力的操作,请使用阅读器。
在设计 API 时,它有助于选择正确的类,它会让 api 用户了解对对象的期望。