Linux Windows Java 快速生成指定大小的空文件
背景介绍
本文讲述了linux系统、windows系统,以及java语言快速生成制定大小空文件的方法,供大家学习参考。
正文
1.Linux系统
dd命令
of:fileName为文件名称,例如test.txt ;
bs:设置一次复制的大小,例如1M;
count:设置复制次数,例如50;
# 语法 dd if=/dev/zero of=<fileName> bs=<一次复制的大小> count=<复制的次数>
# 示例 dd if=/dev/zero of=1.txt bs=1M count=50
2.windows系统
win+r 出现命令框输入cmd,然后输入如下示例代码:
fsutil命令
# 语法 fsutil file createnew <fileName> <文件大小单位字节>
# 示例 fsutil file createnew text.txt 52428800
3.java快速生成:
1.用 FileChannel 的 write 方法:
2.用 RandomAccessFile 的 setLength 方法(此方法更为简便,生成大文件是耗时更短):
public class Test { public static void main(String[] args) throws IOException { File file = new File("C:\\Users\\Administrator\\50.txt"); long length = 1024*1024*50; //createFixLengthFile(file, length); createFile(file, length); } /** * 创建固定大小的文件第一种方法 * * @param file * @param length * @throws IOException */ public static void createFixLengthFile(File file, long length) throws IOException { FileOutputStream fos = null; FileChannel output = null; try { fos = new FileOutputStream(file); output = fos.getChannel(); output.write(ByteBuffer.allocate(1), length - 1); } finally { try { if (output != null) { output.close(); } if (fos != null) { fos.close(); } } catch (IOException e) { e.printStackTrace(); } } } /** * 创建固定大小的文件第二种方法 * * @param file * @param length * @throws IOException */ private static void createFile(File file, long length) throws IOException { RandomAccessFile r = null; try { r = new RandomAccessFile(file, "rw"); r.setLength(length); } finally { if (r != null) { r.close(); } } }