Java使用nio写入大文件代码
时间: 2023-11-22 22:53:05 浏览: 81
java nio 写文件
下面是一个使用Java NIO写入大文件的示例代码:
```java
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class NIOFileWriter {
public static void main(String[] args) throws IOException {
String fileName = "largefile.txt";
long fileSize = 1024 * 1024 * 1024; // 1 GB
File file = new File(fileName);
FileOutputStream fos = new FileOutputStream(file);
FileChannel fileChannel = fos.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
for (long i = 0; i < fileSize / buffer.capacity(); i++) {
buffer.clear();
fileChannel.write(buffer);
}
buffer.limit((int) (fileSize % buffer.capacity()));
buffer.clear();
fileChannel.write(buffer);
fileChannel.close();
fos.close();
}
}
```
这个代码创建了一个名为“largefile.txt”的文件,并向其中写入1GB的数据。代码使用ByteBuffer来处理数据,并将其写入文件通道。循环将分配的缓冲区清空并写入文件通道。最后,代码将剩余数据写入文件通道并关闭通道和文件输出流。
阅读全文