`
niqingyang
  • 浏览: 44038 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java判断文件是否为Zip压缩文件

    博客分类:
  • Java
 
阅读更多
package com.cntrust.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;

public class ZipUtils {

	private static byte[] ZIP_HEADER_1 = new byte[] { 80, 75, 3, 4 };
	private static byte[] ZIP_HEADER_2 = new byte[] { 80, 75, 5, 6 };

	/**
	 * 判断文件是否为一个压缩文件
	 * 
	 * @param file
	 * @return
	 */
	public static boolean isArchiveFile(File file) {

		if(file == null){
			return false;
		}
		
		if (file.isDirectory()) {
			return false;
		}

		boolean isArchive = false;
		InputStream input = null;
		try {
			input = new FileInputStream(file);
			byte[] buffer = new byte[4];
			int length = input.read(buffer, 0, 4);
			if (length == 4) {
				isArchive = (Arrays.equals(ZIP_HEADER_1, buffer)) || (Arrays.equals(ZIP_HEADER_2, buffer));
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (input != null) {
				try {
					input.close();
				} catch (IOException e) {
				}
			}
		}

		return isArchive;
	}
	
	public static void main(String[] args) {
		File file = new File("C:/Users/Administrator/Desktop/ttt.rar");
		System.out.println(isArchiveFile(file));
	}

}

 

分享到:
评论

相关推荐

    java zip rar(区分有无密码的RAR文件) gz ftp工具类

    在Java编程环境中,处理压缩文件和网络传输是常见的任务,特别是在开发企业级应用程序时。本文将详细介绍标题和描述中提到的几个关键知识点:Java中的zip、rar(包括处理带密码的RAR文件)、gz压缩,以及FTP工具类的...

    zip压缩java工具类包含jar文件

    在Java编程环境中,压缩和解压文件是常见的需求,尤其是对于大数据处理和文件传输。`zip`格式是一种广泛使用的文件压缩格式,具有高效且兼容性强的特点。本篇将详细讲解如何利用Java工具类进行`zip`压缩和解压操作,...

    java通过文件头内容判断文件类型

    例如,JPEG图像文件的开头通常是"FF D8 FF E0",PDF文档的开头是"%PDF-",ZIP压缩文件的头四个字节是"50 4B 03 04"等。这些特定的字节序列就是我们识别文件类型的关键。 在Java中,我们可以使用`java.nio`包中的`...

    java 下载文件 压缩且删除源文件(支持文件夹与文件)

    2、指定文件夹(文件夹中必须有一个文件),程序会自动的压缩文件为 zip,然后下载删除源文件与压缩文件。 3、可以指定文件都为最后生成为zip文件下载,且删除源文件。 1、压缩文件或者目录(只是压缩不删除):...

    java对zip、rar文件的压缩和解压缩

    - 判断是否为目录结构,并进行相应处理。 3. **解压文件到目标目录**: - 根据操作系统类型确定文件路径格式。 - 创建必要的目录结构,并将文件内容写入目标位置。 ##### 示例代码分析 ```java private static ...

    Java实现zp大文件解压、合并、复制、删除(30万文件大约2个小时)

    DIR路径下的文件移动到DONE_FILE_PATH下,并且删除PROVINCE_DIR跟UN_ZIP_PATH下文件,这样保证程序每次运行PROVINCE_DIR文件夹下的文件跟UN_ZIP_PATH下的文件都是最新未处理过的,避免了不断判断文件历史记录所带来...

    java实现一次性压缩多个文件到zip中的方法示例

    在压缩多个文件到 ZIP 中之前,需要判断文件是否存在、文件路径是否正确等。在 Java 中,可以使用 File 类来判断文件是否存在,例如: ```java File sourceFile = new File(relativePath); if (sourceFile == null |...

    Java实现的zip压缩及解压缩工具类示例

    "Java实现的zip压缩及解压缩...本示例中,我们详细地介绍了Java实现的zip压缩及解压缩工具类,包括压缩文件和解压缩文件的实现原理和使用方法。该工具类可以用于各种Java应用程序中,例如文件上传、下载、备份等场景。

    Java8 Zip 压缩与解压缩的实现

    Java8 Zip 压缩与解压缩的实现 在 Java8 中,压缩和解压缩都是非常重要的操作,特别是在网络上传输文件或存储文件时。...同时,我们也学习了如何使用 Lambda 表达式来判断文件是否添加到压缩流中。

    Java解析pdf,zip,doc等格式文档

    其次,ZIP是一种常用的压缩文件格式,Java标准库JDK本身就提供了java.util.zip包,可以方便地进行ZIP文件的读写操作。例如,你可以使用ZipFile类打开ZIP文件,遍历其中的条目,然后用ZipEntry读取每个条目的内容。...

    获取zip文件编码格式 cpdetector.zip

    当需要处理未知编码格式的文件,尤其是ZIP压缩文件时,问题会变得更加复杂。"获取zip文件编码格式 cpdetector.zip" 是一个工具,它能够帮助我们识别ZIP文件内文本文件的编码格式。 这个工具的关键依赖于三个JAR文件...

    Java解压缩ZIP文件同时包含Jar包解决ZIP包中含有中文名称信息的文件

    博文链接:https://peng-jian-ming.iteye.com/blog/190572

    java 获取文件的真实类型依赖.zip

    文件的真实类型可能与它的扩展名不符,因此单纯依靠扩展名来判断文件类型是不安全的。本教程将深入探讨如何在Java中利用Apache Commons IO和Lang库来实现这一功能。 Apache Commons是一个提供许多实用工具类的开源...

    java读取shp文件代码

    - 该构造函数还包含了处理ZIP压缩文件的功能,能够从ZIP文件中提取Shapefile。 3. **异常处理**: - 通过`catch(Exception e)`捕获异常,并打印异常信息到控制台。 4. **关键代码段解析**: - `if(noExt....

    java 解析 tar gz文件 两种方法

    在Java编程中,处理tar.gz文件常常用于归档和压缩大量数据。tar.gz文件是由tar命令创建的归档文件,然后通过gzip工具进行压缩。在Java中解析这种类型的文件,通常需要两个步骤:首先解压gzip,然后解包tar。这里我们...

    解压ZIP文件,通用解压器

    1. **`ZipInputStream`**:用于读取ZIP压缩文件。 2. **`ZipEntry`**:表示ZIP文件中的一个条目(文件或目录)。 3. **`FileInputStream`** 和 **`FileOutputStream`**:用于读取和写入文件。 4. **`File`**:用于...

    新建 360压缩 ZIP 文件.zip

    【标题】"新建 360压缩 ZIP 文件.zip" 提示我们这是一个使用360压缩软件创建的ZIP格式的压缩包。ZIP是一种常见的文件压缩格式,它允许我们将多个文件或文件夹打包成一个单一的文件,便于存储、传输和管理。 【描述...

    调用WinRar实现加密压缩文件和解密解压缩文件

    首先,WinRAR是一款功能强大的文件管理器,它提供了创建、查看、编辑和管理RAR和ZIP格式压缩文件的功能,同时支持多种其他压缩格式。在程序中调用WinRAR,通常有两种方式:一是通过WinRAR的命令行界面(Rar.exe),...

    ahp.zip_AHP java_ahp java_zip

    标题 "ahp.zip" 涉及到的是一个与AHP(Analytic Hierarchy Process,分析层次过程)相关的Java程序,文件被压缩在了一个ZIP文件中。AHP是一种多准则决策分析方法,常用于复杂决策问题,特别是在面对具有多个相互关联...

    新建 360压缩 ZIP 文件.zip_consonantum4_java 九九乘法表_whom6hy

    在这个项目中,"新建 360压缩 ZIP 文件.zip_consonantum4_java 九九乘法表_whom6hy" 标题提示我们这是一个关于Java实现九九乘法表的压缩包,可能包含了多个源代码文件,例如GameView.java、用for.java和乘法表2。...

Global site tag (gtag.js) - Google Analytics