【发布时间】:2011-12-23 07:44:27
【问题描述】:
我正在编写一个将数据输出到 .txt 文件的程序,该文件可由使用记事本之类的程序的人读取。 也许不一定是 ASCII,而是用户可以理解的东西。
我使用其中的哪一个?
- ByteArrayOutputStream
- 文件输出流
- 过滤输出流
- ObjectOutputStream
- 输出流
- 管道输出流
我有这个任务要求我专门使用一个 OutputStream 子类,所以 Writer 不是一个选项。
类概述
- ByteArrayOutputStream 直到BalusC给出更简单的描述才明白。显然它将东西存储在一个字节数组中,这使得它不可读,因为它们是特殊的字节。
- FileOutputStream 它将输出转换为字节,因此也不可读。
- FilterOutputStream 我认为它以我不理解的方式转换数据。当您只想在程序中编写内容时编写它们,这并不好。
- ObjectOutputStream 根据“原始数据类型也可以使用 DataOutput 中的适当方法写入流。字符串也可以使用 writeUTF 方法写入。”并且提供的示例可能就是答案,但又一次如此多的解释让我感到困惑。
- OutputStream 完全看不懂描述。
- PipedOutputStream 创建二进制数据管道。什么是管道?一点头绪都没有。
【问题讨论】:
-
OutputStreamWriter 包裹在 BufferedWriter 中?
-
为什么特别是 ASCII?记事本也支持例如 UTF-8。
-
嗯,当然,任何可以理解并使用这些子类的东西。
-
在我的(已删除)答案中,事实证明这实际上是一项家庭作业,并且不允许 OP 像普通开发人员那样使用
Writer。我添加了作业标签。现在,您是否阅读过每个提到的 javadocs 以了解每个应该用于什么?从这里开始:download.oracle.com/javase/6/docs/api/java/io/… -
是的,谢谢,我已经阅读了 javadocs,当然还有其他的,然后再在这里询问并从人们那里抢时间。
标签: java file ascii outputstream