java nio大规模传输文件的demo
时间: 2024-01-21 17:04:53 浏览: 149
以下是一个使用Java NIO进行大规模文件传输的示例代码:
```java
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class NIOFileTransfer {
public static void main(String[] args) throws Exception {
// 打开输入文件和输出文件的Channel
FileInputStream in = new FileInputStream("input.txt");
FileOutputStream out = new FileOutputStream("output.txt");
FileChannel inChannel = in.getChannel();
FileChannel outChannel = out.getChannel();
// 创建一个ByteBuffer用于读取数据
ByteBuffer buffer = ByteBuffer.allocate(1024);
// 将输入文件中的数据写入输出文件
while (inChannel.read(buffer) != -1) {
buffer.flip();
outChannel.write(buffer);
buffer.clear();
}
// 关闭文件Channel和流
inChannel.close();
outChannel.close();
in.close();
out.close();
}
}
```
该程序使用Java NIO实现了一个简单的文件传输工具,将一个文件中的数据写入到另一个文件中。程序首先打开输入文件和输出文件的Channel,然后创建一个ByteBuffer用于读取数据。在循环中,程序从输入文件中读取数据到ByteBuffer中,然后将ByteBuffer中的数据写入到输出文件中。最后,程序关闭文件Channel和流。
阅读全文