1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > java创建一个大文件 java - 用Java创建包含大文件的目录 - 堆栈内存溢出

java创建一个大文件 java - 用Java创建包含大文件的目录 - 堆栈内存溢出

时间:2021-03-13 04:17:33

相关推荐

java创建一个大文件 java - 用Java创建包含大文件的目录 - 堆栈内存溢出

他们谈论将zip文件视为文件系统,并通过这种方式提供了递归压缩文件和文件夹的密钥,如您在链接中提到的示例中所看到的,将被视为文件系统,可以使用java.nio进行访问(甚至我都不知道!)。

此外,您可以像通常那样使用File.copy来将任何文件复制进文件系统或从文件系统中移出,但是可以通过编程方式进行。

注意:如果时间允许,我将创建一个与我们相同的示例程序,并将其发布在此处,直到那时,您绝对可以看看这种方法。

方法#1-未使用,因为它使用了外部库

请查看下面的以下仓库,如果您可以在项目中使用外部库,可以处理很多情况(因为您没有在问题中提到要局限于使用香草java)仅),那么这应该对您有所帮助。

他们还以您在问题中提到的10MB为例。

zipFile.createSplitZipFile(filesToAdd, zipParameters, true, 10485760); // using 10MB in this example

you can also get it from maven

net.lingala.zip4j

zip4j

2.2.4

Here, is an example and the output, 1.dat is 109mb file

-rw-r--r-- 1 apachemain staff 109M Nov 15 18:00 1.dat

package org.example;

import net.lingala.zip4j.ZipFile;

import net.lingala.zip4j.exception.ZipException;

import net.lingala.zip4j.model.ZipParameters;

import net.lingala.zip4j.pressionMethod;

import net.lingala.zip4j.model.enums.EncryptionMethod;

import java.io.File;

import java.util.Arrays;

import java.util.List;

public class CreateSplitZipFile {

public CreateSplitZipFile() {

try {

// Initiate ZipFile object with the path/name of the zip file.

// Build the list of files to be added in the array list

// Objects of type File have to be added to the ArrayList

ZipParameters zipParameters = new ZipParameters();

zipParameters.setEncryptFiles(true);

zipParameters.setEncryptionMethod(EncryptionMethod.AES);

zipParameters.setCompressionMethod(CompressionMethod.STORE);

List filesToAdd = Arrays.asList(

new File("1.dat")

);

ZipFile zipFile = new ZipFile("filename.zip", "password".toCharArray());

zipFile.createSplitZipFile(filesToAdd, zipParameters, true, 10485760); // using 10MB in this example

} catch (ZipException e) {

e.printStackTrace();

}

}

/**

* @param args

*/

public static void main(String[] args) {

new CreateSplitZipFile();

}

}

OUTPUT

=======

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z01

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z02

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z03

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z04

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z05

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z06

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z07

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z08

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z09

-rw-r--r-- 1 apachemain staff 10M Nov 16 10:26 filename.z10

-rw-r--r-- 1 apachemain staff 8.6M Nov 16 10:26 filename.zip

am also seeing the following exception after the creation of the zip files.

net.lingala.zip4j.exception.ZipException: java.io.FileNotFoundException: null/filename.z01 (No such file or directory)

at net.lingala.zip4j.tasks.AsyncZipTask.performTaskWithErrorHandling(AsyncZipTask.java:49)

at net.lingala.zip4j.tasks.AsyncZipTask.execute(AsyncZipTask.java:36)

at net.lingala.zip4j.ZipFile.createSplitZipFile(ZipFile.java:152)

at org.example.CreateSplitZipFile.(CreateSplitZipFile.java:32)

at org.example.CreateSplitZipFile.main(CreateSplitZipFile.java:44)

Caused by: java.io.FileNotFoundException: null/filename.z01 (No such file or directory)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。