当前位置: 首页>>代码示例>>Java>>正文


Java ZipParameters.setEncryptionMethod方法代码示例

本文整理汇总了Java中net.lingala.zip4j.model.ZipParameters.setEncryptionMethod方法的典型用法代码示例。如果您正苦于以下问题:Java ZipParameters.setEncryptionMethod方法的具体用法?Java ZipParameters.setEncryptionMethod怎么用?Java ZipParameters.setEncryptionMethod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.lingala.zip4j.model.ZipParameters的用法示例。


在下文中一共展示了ZipParameters.setEncryptionMethod方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: zip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
public static void zip(String targetPath, String destinationFilePath, String password) {
    try {
        ZipParameters parameters = new ZipParameters();
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);

        if (password.length() > 0) {
            parameters.setEncryptFiles(true);
            parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
            parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
            parameters.setPassword(password);
        }

        ZipFile zipFile = new ZipFile(destinationFilePath);

        File targetFile = new File(targetPath);
        if (targetFile.isFile()) {
            zipFile.addFile(targetFile, parameters);
        } else if (targetFile.isDirectory()) {
            zipFile.addFolder(targetFile, parameters);
        }

    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:ghost1372,项目名称:Mzip-Android,代码行数:27,代码来源:ZipArchive.java

示例2: compress

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/**
 * Compress.
 *
 * @param fileName
 *            the file name
 * @param compressedFileName
 *            the compressed file name
 * @param password
 *            the password
 */
public static void compress(String fileName, String compressedFileName, String password) {
	try {
		ZipParameters zipParameters = new ZipParameters();
		zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
		zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_ULTRA);
		if (password != null) {
			zipParameters.setEncryptFiles(true);
			zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
			zipParameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
			zipParameters.setPassword(password);
		}
		String destinationZipFilePath = compressedFileName;
		ZipFile zipFile = new ZipFile(destinationZipFilePath);
		zipFile.addFile(new File(fileName), zipParameters);
	} catch (ZipException e) {
		JKExceptionUtil.handle(e);
	}
}
 
开发者ID:kiswanij,项目名称:jk-util,代码行数:29,代码来源:JKCompressionUtil.java

示例3: zip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/**
 * 使用给定密码压缩指定文件或文件夹到指定位置.
 * <p>
 * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者"".<br />
 * 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀;<br />
 * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为文件名.
 * @param src 要压缩的文件或文件夹路径
 * @param dest 压缩文件存放路径
 * @param isCreateDir 是否在压缩文件里创建目录,仅在压缩文件为目录时有效.<br />
 * 如果为false,将直接压缩目录下文件到压缩文件.
 * @param passwd 压缩使用的密码
 * @return 最终的压缩文件存放的绝对路径,如果为null则说明压缩失败.
 */
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {
    File srcFile = new File(src);
    File destFile = new File(dest);
    dest = buildDestinationZipFilePath(srcFile, dest);
    ZipParameters parameters = new ZipParameters();
    parameters.setFileNameInZip(destFile.getName().substring(0,destFile.getName().lastIndexOf("."))+".log");
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);           // 压缩方式
    parameters.setSourceExternalStream(true);
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);    // 压缩级别
    if (!TextUtils.isEmpty(passwd)) {
        parameters.setEncryptFiles(true);
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
        parameters.setPassword(passwd.toCharArray());
    }
    try {
        ZipFile zipFile = new ZipFile(dest);
        if (srcFile.isDirectory()) {
            // 如果不创建目录的话,将直接把给定目录下的文件压缩到压缩文件,即没有目录结构
            if (!isCreateDir) {
                File [] subFiles = srcFile.listFiles();
                ArrayList<File> temp = new ArrayList<File>();
                Collections.addAll(temp, subFiles);
                zipFile.addFiles(temp, parameters);
                return dest;
            }
            zipFile.addFolder(srcFile, parameters);
        } else {
            zipFile.addFile(srcFile, parameters);
        }
        return dest;
    } catch (ZipException e) {
        e.printStackTrace();
    }
    return null;
}
 
开发者ID:SavorGit,项目名称:Hotspot-master-devp,代码行数:49,代码来源:ZipUtil.java

示例4: zip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/** 
 * 使用给定密码压缩指定文件或文件夹到指定位置. 
 * <p> 
 * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者"".<br /> 
 * 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀;<br /> 
 * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为文件名. 
 * @param src 要压缩的文件或文件夹路径 
 * @param dest 压缩文件存放路径 
 * @param isCreateDir 是否在压缩文件里创建目录,仅在压缩文件为目录时有效.<br /> 
 * 如果为false,将直接压缩目录下文件到压缩文件. 
 * @param passwd 压缩使用的密码 
 * @return 最终的压缩文件存放的绝对路径,如果为null则说明压缩失败. 
 */  
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {  
    File srcFile = new File(src);  
    dest = buildDestinationZipFilePath(srcFile, dest);  
    ZipParameters parameters = new ZipParameters();  
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);           // 压缩方式  
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);    // 压缩级别  
    if (!StringUtils.isEmpty(passwd)) {  
        parameters.setEncryptFiles(true);  
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式  
        parameters.setPassword(passwd.toCharArray());  
    }  
    try {  
        ZipFile zipFile = new ZipFile(dest);  
        if (srcFile.isDirectory()) {  
            // 如果不创建目录的话,将直接把给定目录下的文件压缩到压缩文件,即没有目录结构  
            if (!isCreateDir) {  
                File [] subFiles = srcFile.listFiles();  
                ArrayList<File> temp = new ArrayList<File>();  
                Collections.addAll(temp, subFiles);  
                zipFile.addFiles(temp, parameters);  
                return dest;  
            }  
            zipFile.addFolder(srcFile, parameters);  
        } else {  
            zipFile.addFile(srcFile, parameters);  
        }  
        return dest;  
    } catch (ZipException e) {  
        e.printStackTrace();  
    }  
    return null;  
}
 
开发者ID:Kuangcp,项目名称:JavaToolKit,代码行数:46,代码来源:CompressUtil.java

示例5: checkParameters

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
private void checkParameters(ZipParameters parameters) throws ZipException {
	
	if (parameters == null) {
		throw new ZipException("cannot validate zip parameters");
	}
	
	if ((parameters.getCompressionMethod() != Zip4jConstants.COMP_STORE) && 
			parameters.getCompressionMethod() != Zip4jConstants.COMP_DEFLATE) {
		throw new ZipException("unsupported compression type");
	}
	
	if (parameters.getCompressionMethod() == Zip4jConstants.COMP_DEFLATE) {
		if (parameters.getCompressionLevel() < 0 && parameters.getCompressionLevel() > 9) {
			throw new ZipException("invalid compression level. compression level dor deflate should be in the range of 0-9");
		}
	}
	
	if (parameters.isEncryptFiles()) {
		if (parameters.getEncryptionMethod() != Zip4jConstants.ENC_METHOD_STANDARD && 
				parameters.getEncryptionMethod() != Zip4jConstants.ENC_METHOD_AES) {
			throw new ZipException("unsupported encryption method");
		}
		
		if (parameters.getPassword() == null || parameters.getPassword().length <= 0) {
			throw new ZipException("input password is empty or null");
		}
	} else {
		parameters.setAesKeyStrength(-1);
		parameters.setEncryptionMethod(-1);
	}
	
}
 
开发者ID:joielechong,项目名称:Zip4jAndroid,代码行数:33,代码来源:ZipEngine.java

示例6: zip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/** 
 * 使用给定密码压缩指定文件或文件夹到指定位置. 
 * <p> 
 * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者"".<br /> 
 * 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀;<br /> 
 * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为文件名. 
 * @param src 要压缩的文件或文件夹路径 
 * @param dest 压缩文件存放路径 
 * @param isCreateDir 是否在压缩文件里创建目录,仅在压缩文件为目录时有效.<br /> 
 * 如果为false,将直接压缩目录下文件到压缩文件. 
 * @param passwd 压缩使用的密码 
 * @return 最终的压缩文件存放的绝对路径,如果为null则说明压缩失败. 
 */  
public static String zip(String src, String dest, boolean isCreateDir, String passwd) {  
    File srcFile = new File(src);  
    dest = buildDestinationZipFilePath(srcFile, dest);  
    ZipParameters parameters = new ZipParameters();  
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);           // 压缩方式  
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);    // 压缩级别  
    if (!StringUtils.isEmpty(passwd)) {
        parameters.setEncryptFiles(true);  
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式  
        parameters.setPassword(passwd.toCharArray());  
    }  
    try {  
        ZipFile zipFile = new ZipFile(dest);
        zipFile.setFileNameCharset(Constants.GBK); //不可随意更换位置
        if (srcFile.isDirectory()) {  
            // 如果不创建目录的话,将直接把给定目录下的文件压缩到压缩文件,即没有目录结构  
            if (!isCreateDir) {  
                File [] subFiles = srcFile.listFiles();  
                ArrayList<File> temp = new ArrayList<File>();
                if(null != subFiles && subFiles.length > 0)
                    Collections.addAll(temp, subFiles);
                zipFile.addFiles(temp, parameters);  
                return dest;  
            }  
            zipFile.addFolder(srcFile, parameters);  
        } else {  
            zipFile.addFile(srcFile, parameters);  
        }  
        return dest;  
    } catch (ZipException e) {  
        Exceptions.printException(e);;  
    }  
    return null;  
}
 
开发者ID:simbest,项目名称:simbest-cores,代码行数:48,代码来源:CompressUtil.java

示例7: CompressTask

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
public CompressTask(String destination, String source) {
    this.destination = destination;
    this.source = source;
    parameters = new ZipParameters();
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
    parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
    parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
    parameters.setPassword("123");
    timer = new Timer();
}
 
开发者ID:tztztztztz,项目名称:bookish-meme,代码行数:12,代码来源:CompressTask.java

示例8: zipEncrypt

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
public static String zipEncrypt(String src, String dest, boolean isCreateDir, String passwd) {
    File srcFile = new File(src);
    dest = buildDestinationZipFilePath(srcFile, dest);
    ZipParameters parameters = new ZipParameters();
    // 压缩方式
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    // 压缩级别
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
    if (!RxDataTool.isNullString(passwd)) {
        parameters.setEncryptFiles(true);
        // 加密方式
        parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
        parameters.setPassword(passwd.toCharArray());
    }
    try {
        net.lingala.zip4j.core.ZipFile zipFile = new net.lingala.zip4j.core.ZipFile(dest);
        if (srcFile.isDirectory()) {
            // 如果不创建目录的话,将直接把给定目录下的文件压缩到压缩文件,即没有目录结构
            if (!isCreateDir) {
                File[] subFiles = srcFile.listFiles();
                ArrayList<File> temp = new ArrayList<File>();
                Collections.addAll(temp, subFiles);
                zipFile.addFiles(temp, parameters);
                return dest;
            }
            zipFile.addFolder(srcFile, parameters);
        } else {
            zipFile.addFile(srcFile, parameters);
        }
        return dest;
    } catch (ZipException e) {
        e.printStackTrace();
    }
    return null;
}
 
开发者ID:vondear,项目名称:RxTools,代码行数:36,代码来源:RxZipTool.java

示例9: zipEncryptRargo

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
public static String zipEncryptRargo(String src, String dest, boolean isCreateDir, String passwd, int unit) {
        File srcFile = new File(src);
        dest = buildDestinationZipFilePath(srcFile, dest);
        ZipParameters parameters = new ZipParameters();
        // 默认COMP_DEFLATE
        parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
        parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
        if (!RxDataTool.isNullString(passwd)) {
            parameters.setEncryptFiles(true);
            parameters.setEncryptionMethod(0);
            parameters.setPassword(passwd.toCharArray());
        }

        try {
            net.lingala.zip4j.core.ZipFile zipFile = new net.lingala.zip4j.core.ZipFile(dest);
            if (srcFile.isDirectory()) {
                if (!isCreateDir) {
                    File[] subFiles = srcFile.listFiles();
                    ArrayList<File> temp = new ArrayList();
                    Collections.addAll(temp, subFiles);
//                    zipFile.addFiles(temp, parameters);
                    zipFile.createZipFile(temp, parameters, true, unit * 1000);
                    return dest;
                }
                zipFile.createZipFileFromFolder(srcFile, parameters, true, unit * 1000);
                //粗略的算一下分成多少份,获取的大小比实际的大点(一般是准确的)
                int partsize = (int) zipInfo(dest) / (unit); //65536byte=64kb
                System.out.println("分割成功!总共分割成了" + (partsize + 1) + "个文件!");
            } else {
                zipFile.createZipFile(srcFile, parameters, true, unit * 1000);
            }

            return dest;
        } catch (ZipException var9) {
            var9.printStackTrace();
            return null;
        }
    }
 
开发者ID:vondear,项目名称:RxTools,代码行数:39,代码来源:RxZipTool.java

示例10: zipFiles

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
@Override
public String zipFiles(String zipFilePath, List<File> files, String filesRootPath, boolean includeRootPath) {

    String errorMessage = null;
    ZipParameters parameters = new ZipParameters();
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_FAST);
    parameters.setEncryptionMethod(Zip4jConstants.ENC_NO_ENCRYPTION);
    parameters.setDefaultFolderPath(filesRootPath);
    parameters.setIncludeRootFolder(includeRootPath);

    try {
        ZipFile zipFile = new ZipFile(zipFilePath);

        for (int i = 0; i < files.size(); i++) {
            File file = files.get(i);
            if (file.isFile()) {
                zipFile.addFile(file, parameters);
            }
            if (file.isDirectory()) {
                zipFile.addFolder(file, parameters);
            }
        }
    } catch (ZipException e) {
        errorMessage = e.getMessage();
    }

    return errorMessage;
}
 
开发者ID:rndsolutions,项目名称:hawkcd,代码行数:30,代码来源:FileManagementService.java

示例11: zipFiles

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
@Override
public String zipFiles(String zipFilePath, List<File> files, String filesRootPath, boolean includeRootPath) {

    String errorMessage = null;
    ZipParameters parameters = new ZipParameters();
    parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_FAST);
    parameters.setEncryptionMethod(Zip4jConstants.ENC_NO_ENCRYPTION);
    parameters.setDefaultFolderPath(filesRootPath);
    parameters.setIncludeRootFolder(includeRootPath);

    try {
        ZipFile zipFile = new ZipFile(zipFilePath);


        for (int i = 0; i < files.size(); i++) {
            File file = files.get(i);
            if (file.isFile()) {
                zipFile.addFile(file, parameters);
            }
            if (file.isDirectory()) {
                zipFile.addFolder(file, parameters);
            }
        }
    } catch (ZipException e) {
        e.printStackTrace();
    }

    return errorMessage;
}
 
开发者ID:rndsolutions,项目名称:hawkcd,代码行数:31,代码来源:FileManagementService.java

示例12: writeZip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
void writeZip(File pkgFile, File packageFolder) throws ZipException {
    ZipFile zipFile = new ZipFile(pkgFile);
    ZipParameters zipParameters = new ZipParameters();
    zipParameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD);
    zipParameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
    zipParameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
    zipParameters.setIncludeRootFolder(false);
    zipParameters.setDefaultFolderPath(packageFolder.getAbsolutePath());
    zipFile.addFiles(listZipFiles(packageFolder), zipParameters);
}
 
开发者ID:proarc,项目名称:proarc,代码行数:11,代码来源:CejshBuilder.java

示例13: VideoWriter

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
public VideoWriter( VideoInput _vi )
{
	vi = _vi;

	DVRLoader.getExecutor().execute( this );

	parameters = new ZipParameters();
	parameters.setCompressionMethod( Zip4jConstants.COMP_DEFLATE );
	parameters.setCompressionLevel( Zip4jConstants.DEFLATE_LEVEL_NORMAL );
	parameters.setEncryptFiles( true );
	parameters.setEncryptionMethod( Zip4jConstants.ENC_METHOD_AES );
	parameters.setAesKeyStrength( Zip4jConstants.AES_STRENGTH_256 );
	parameters.setPassword( "OpenSpaceDVR2014" ); // Generate a private key for each DVR install. Installation ID maybe?
}
 
开发者ID:PenoaksDev,项目名称:OpenSpaceDVR,代码行数:15,代码来源:VideoWriter.java

示例14: zip

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/**
 * 使用给定密码压缩指定文件或文件夹到指定位置.
 * @param srcFiles				要压缩的文件或文件夹File
 * @param destFile				压缩文件存放File
 * @param charset				编码方式
 * @param passwd				密码
 * @param compressionMethod		压缩方式【Zip4jConstants类参数】
 * @param compressionLevel		压缩级别【Zip4jConstants类参数】
 * @param encryptionMethod		加密方式【Zip4jConstants类参数】
 * @throws ZipException
 */
private static void zip(File[] srcFiles,File destFile, String charset,
		String passwd, int compressionMethod, int compressionLevel,
		int encryptionMethod) throws ZipException {
	
	//创建目标文件父级目录
	FastFile.createParentDirectory(destFile);
	
	ZipParameters parameters = new ZipParameters();
	parameters.setCompressionMethod(compressionMethod); // 压缩方式
	parameters.setCompressionLevel(compressionLevel); // 压缩级别
	if (StringUtils.isNotBlank(passwd)) {
		parameters.setEncryptFiles(true);
		parameters.setEncryptionMethod(encryptionMethod); // 加密方式
		
		if(encryptionMethod==Zip4jConstants.ENC_METHOD_AES){//如果加密方式为AES

			parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
		}
		
		
		parameters.setPassword(passwd.toCharArray());
	}
	
	ZipFile zipFile = new ZipFile(destFile);
	zipFile.setFileNameCharset(charset);
	
	for(File srcFile : srcFiles){
		if (srcFile.isDirectory()) {
			zipFile.addFolder(srcFile, parameters);
		} else {
			zipFile.addFile(srcFile, parameters);
		}
	}
}
 
开发者ID:Mr-Po,项目名称:Fast,代码行数:46,代码来源:FastZip.java

示例15: example4

import net.lingala.zip4j.model.ZipParameters; //导入方法依赖的package包/类
/**
 * 示例4 创建加密压缩包
 */
@Test
public void example4(){
	try {
           ZipFile zipFile = new ZipFile("src/main/resources/AddFilesWithAESZipEncryption.zip");

           ArrayList<File> filesToAdd = new ArrayList<File>();
           filesToAdd.add(new File("src/main/resources/sample.txt"));
           filesToAdd.add(new File("src/main/resources/zip4j.txt"));
           filesToAdd.add(new File("src/main/resources/zip4j-1.3.2.jar"));
           
           ZipParameters parameters = new ZipParameters();
           parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
            
           parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL); 
           parameters.setEncryptFiles(true);
            
           parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
            

           parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
           parameters.setPassword("123456");
    
           zipFile.addFiles(filesToAdd, parameters);
       } catch (ZipException e) {
           e.printStackTrace();
       }
}
 
开发者ID:v5developer,项目名称:maven-framework-project,代码行数:31,代码来源:Zip4j.java


注:本文中的net.lingala.zip4j.model.ZipParameters.setEncryptionMethod方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。