协会网站建设制作,农村建设设计网站首页,html实例百度网页制作代码,直播软件大全有时候#xff0c;我们在对文件进行测试的时候#xff0c;可能需要创建一个临时的大文件。
那么问题来了#xff0c;在 Java 中如何创建大文件呢#xff1f;
问题和解决
有些人想到的办法就是定义一个随机的字符串#xff0c;然后重复很多次#xff0c;然后将这个字符…有时候我们在对文件进行测试的时候可能需要创建一个临时的大文件。
那么问题来了在 Java 中如何创建大文件呢
问题和解决
有些人想到的办法就是定义一个随机的字符串然后重复很多次然后将这个字符串写入到文件中。
当然这个是一个解决方法。
我们可以使用下面的代码来进行创建。 Testpublic void writingToLargeFile() throws IOException {final RandomAccessFile stream new RandomAccessFile(fileNameLarge, rw);stream.setLength(1024 * 1024 * 1024);}生成的文件的大小为 1 个 G。 RandomAccessFile 实例
此类的实例支持对随机访问文件的读取和写入。随机访问文件的行为类似存储在文件系统中的一个大型 byte 数组。存在指向该隐含数组的光标或索引称为文件指针输入操作从文件指针开始读取字节并随着对字节的读取而前移此文件指针。
如果随机访问文件以读取/写入模式创建则输出操作也可用输出操作从文件指针开始写入字节并随着对字节的写入而前移此文件指针。写入隐含数组的当前末尾之后的输出操作导致该数组扩展。
该文件指针可以通过 getFilePointer 方法读取并通过 seek 方法设置。
现有如下的一个需求向已存在1G数据的 txt 文本里末尾追加一行文字
可能大多数朋友会觉得这个需求很容易直接把文件读到内存中获得文件的字符串然后在字符串后添加就可以了。
那么如果我们现在的文件有 10 GB那怎么办
如果全部读到内存中估计大概率情况会内存溢出了。
这个时候可以使用 RandomAccessFile 来进行操作了。
因为 Random 的大意就是针对文件内容的指针你可以随意进行操作那么对大文件的读取和处理这个类就是你的好伙伴了。
另外从 RandomAccessFile 的构造方法我们就看到你需要提供的是文件的路径而不是文件对象。
这个很容易理解吧如果我们提供的是文件对象的话那么你的 JVM 将会要对这个对象实例化以后才能操作这个内存早就可能会出问题了。 有下面的一些参数你可以使用
r 以只读方式打开文件如果执行写入操作会抛出IOException;rw 以读、写方式打开文件如果文件不存在则尝试创建文件rws 以读、写方式打开文件要求对文件内容或元数据的每次更新都同步写入底层存储设备rwd 以读、写方式打开文件要求对文件内容的每次更新都同步写入底层存储设备
Java 创建一个大文件 - Java - OSSEZ有时候我们在对文件进行测试的时候可能需要创建一个临时的大文件。 那么问题来了在 Java 中如何创建大文件呢 问题和解决有些人想到的办法就是定义一个随机的字符串然后重复很多次然后将这个字符串写入到文件中。 当然这个是一个解决方法。 我们可以使用下面的代码来进行创建。 Test public void writingToLargeFile() throws IOException { …https://www.ossez.com/t/java/14438