如何使用Java NIO复制文件?
以下代码段显示了如何使用NIOAPI复制文件。的NIO(新IO)API是在java.nio.*包。它至少需要Java1.4,因为此版本中首先包含了API。JAVANIO是基于块的IO处理,而不是基于流的IO,后者是Java中的旧版本IO处理。
package org.nhooo.example.io;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.channels.FileChannel;
import java.nio.ByteBuffer;
public class CopyFileExample {
public static void main(String[] args) throws Exception {
String source = "medical-report.txt";
String destination = "medical-report-final.txt";
FileInputStream fis = new FileInputStream(source);
FileOutputStream fos = new FileOutputStream(destination);
FileChannel inputChannel = fis.getChannel();
FileChannel outputChannel = fos.getChannel();
// 创建一个1024大小的缓冲区以缓冲数据
// 从源文件复制到目标文件时。
// 为了在这里创建缓冲区,我们使用了静态方法
// ByteBuffer.allocate()
ByteBuffer buffer = ByteBuffer.allocate(1024);
// 在这里,我们开始读取源文件并将其写入
//到目标文件。我们重复这个过程
// 直到输入流通道的read方法返回
// 没有(-1)。
while (true) {
// 读取数据块并将其放入缓冲区
int read = inputChannel.read(buffer);
//我们到达通道尽头了吗?如果是
// 跳出while循环
if (read == -1) {
break;
}
// 翻转缓冲区
buffer.flip();
// 写入目标通道并清除缓冲区。
outputChannel.write(buffer);
buffer.clear();
}
}
}
热门推荐
1 训练狗狗基础
2 怎么训练狗狗笑
3 怎么训练狗狗卧下
4 上海狗狗训练基地
5 训练狗狗排便
6 狗狗基础训练
8 如何训练狗狗装死
9 狗狗站姿训练
10 狗狗训练用品
11 训练狗狗吧
12 狗狗要怎么训练
13 怎么训练狗狗玩球
14 训练狗狗唤回
15 狗狗训练躺下
16 狗狗训练指令
17 狗狗的训练技巧
18 狗狗不好训练