【发布时间】:2020-05-25 04:04:03
【问题描述】:
所以我使用 Java.net.URL 来连接到包含一些 xml (.atom?) 数据的 URL,用于解析以写入本地文件。
这教会了我很多关于阅读和写作的知识。这是我目前的流程:
- 创建 URL 对象
- 获取“流”
- 创建一个 InputStreamReader
- 在缓冲读取器中包装 ISR
- 创建 FileWriter
- 在 Bufferedwriter 中包装 FW
- 一行一行,先读后写
- 关闭 BufferedWriter。
有效!我了解了 reader、BufferedReader、writer 和 BfferedWriter 之间的区别。那太棒了。我对流有点不清楚,但现在没关系。
但是,我想知道是否有一种方法可以直接从 InputStream 创建一个 BufferedWriter 以节省所有这些中间步骤。
- 创建 URL 对象
- 获取“流”
- 直接跳到 BufferedWriter()
- 写入本地文件。
- 关闭 BufferedWriter
我看到 BufferedWriter 构造函数需要一个写入器,所以我假设不是,但我不禁想知道你是否可以减少一些步骤。
【问题讨论】:
-
您似乎只关心将数据下载到本地文件中。如果是这种情况,那么您不需要使用
Reader或Writer,因为您不会尝试将二进制数据解码为字符,反之亦然。将数据(即原始字节)从InputStream传输到OutputStream就足够了(尽管您可能想要使用缓冲区/缓冲流)。您的应用程序是否还需要使用阅读器和/或编写器? -
@Slaw 是的,这就是我的问题的核心。我只想将 URL 中的数据直接保存到文件中。我不需要对数据进行任何中间操作。