通道间数据传输

2025 年 3 月 22 日 | 阅读需 2 分钟

在 Java NIO 中,我们可以非常频繁地直接在通道之间传输数据。文件数据的批量传输非常普遍,因此为了提高效率,在 FileChannel 类 中添加了一些优化方法。

FileChannel 类中用于通道间数据传输的两个方法是:

  1. FileChannel.transferTo() 方法
  2. FileChannel.transferFrom() 方法

FileChannel.transferTo() 方法

transferTo() 方法允许将数据从 FileChannel 传输到其他通道。

让我们看一个 transferTo() 方法的例子


FileChannel.transferFrom() 方法

transferFrom() 方法允许将数据从源通道传输到 FileChannel。

让我们看一个 transferFrom() 方法的例子


基本的通道到通道数据传输示例

让我们看一个简单的例子,从 4 个不同的文件中读取内容,并将它们的组合输出写入第五个文件中

输出

在上面的程序中,读取了 4 个不同文件(即 input1.txt、input2.txt、input3.txt 和 input4.txt)的内容,并将它们的组合输出写入第五个文件,即 combine_output.txt。

下一主题Java NIO Selector