package com.test.junin;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.math.BigInteger;
import java.security.MessageDigest;
public class FileOperationTest
{
public static void main(String[] args)
{
//String tempDirectory = new String("H:\\Temp");
//
//File dir = new File(tempDirectory);
//
//File file;
//
//FileUtil.deleteOldGeneratedReportDesignerFile(tempDirectory);
//
//try
//{
// File.createTempFile("Report-Designer-", ".pdf",dir);
// File.createTempFile("Report-Designer-", ".pdf",dir);
//}
//catch(IOException IOE)
//{
//IOE.printStackTrace();
//}
//
//String fileName = FileUtil.getNewGeneratedReportDesignerFileName(tempDirectory);
//
//System.out.println(fileName);
//
//file = FileUtil.getNewGeneratedReportDesignerFile(tempDirectory);
//
//System.out.println(file.toString());
String dirName = "H:\\Temp";
File dir = new File(dirName);
String[] fileList = dir.list();
File filemd1 = new File(dirName+File.separator+fileList[0]);
for(int i = 0;i<fileList.length;i++)
{
File filemd = new File(dirName+File.separator+fileList[i]);
String md5 = FileDigest.getFileMD5(filemd);
System.out.println("---------------------------------");
System.out.println(filemd.toString());
System.out.println(md5);
System.out.println(FileUtil.compareFile(filemd, filemd1));
}
}
}
class FileUtil
{
public static void deleteOldGeneratedReportDesignerFile(String tempDirectory)
{
File tempDir = new File(tempDirectory);
File oldReportFile;
String[] fileList = tempDir.list();
for(int num = 0;num < fileList.length;num++)
{
if(fileList[num].contains("Report-Designer-"))
{
oldReportFile = new File(tempDirectory+File.separator+fileList[num]);
oldReportFile.delete();
}
}
}
public static File getNewGeneratedReportDesignerFile(String tempDirectory)
{
File tempDir = new File(tempDirectory);
File newReportFile;
String[] fileList = tempDir.list();
int fileIndex = 0;
for(int num = 0;num < fileList.length;num++)
{
if(fileList[num].contains("Report-Designer-"))
{
fileIndex = num;
}
}
newReportFile = new File(tempDirectory+File.separator+fileList[fileIndex]);
return newReportFile;
}
public static String getNewGeneratedReportDesignerFileName(String tempDirectory)
{
File tempDir = new File(tempDirectory);
String[] fileList = tempDir.list();
int fileIndex = 0;
for(int num = 0;num < fileList.length;num++)
{
if(fileList[num].contains("Report-Designer-"))
{
fileIndex = num;
}
}
return fileList[fileIndex];
}
public static boolean compareFile(File file1,File file2)
{
return getFileMD5(file1).equals(getFileMD5(file2));
}
public static String getFileMD5(File file) {
if (!file.isFile()){
return null;
}
MessageDigest digest = null;
FileInputStream in=null;
byte buffer[] = new byte[1024];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
BigInteger bigInt = new BigInteger(1, digest.digest());
return bigInt.toString(16);
}
}
相关推荐
`db_recovery_file_dest_size`是Oracle数据库中一个重要的初始化参数,它定义了用于恢复文件(如联机重做日志、控制文件备份等)的闪回区域的最大大小。这个参数与数据库的归档模式和数据保护策略密切相关。 在...
《文件服务器文件监控审计软件——File_System_Auditor2.53详解》 在信息化日益发展的今天,文件服务器已经成为企业内部信息存储与分享的核心平台。然而,随着数据量的不断增长,如何确保文件的安全性、追踪文件...
### 文件写入利器:`file_put_contents`函数详解 在PHP编程中,处理文件操作是一项常见且基础的任务。其中,`file_put_contents`函数因其简洁高效的特点,成为了开发者们进行文件写入操作时的首选工具。本文将深入...
`__FILE__`, `__LINE__`, 和 `__FUNCTION__` 是预定义的宏,它们在C语言中提供了强大的代码跟踪能力,帮助开发者更好地理解和定位问题。以下是关于这三个宏的详细解释以及如何在调试过程中利用它们。 1. `__FILE__`...
主要介绍了zlib压缩库中函数file_compress和file_uncompress的使用方法,有挺多的测试例子,已验证完毕
《Http_File_Server:简易Web文件服务器的探索与应用》 Http_File_Server,作为一个小巧而实用的Web文件服务器软件,它的存在极大地简化了个人或小型团队在本地或局域网内分享文件的过程。在这个数字化时代,文件...
首先,`file_get_contents`函数的基本语法是`file_get_contents($filename, $context, $offset, $maxlen)`。其中,`$filename`参数可以是一个本地文件路径,也可以是一个URL。例如,如果你想从一个HTTP地址下载文件...
File_System_Auditor文件系统审计软件可以实现对共享文件的审计(日志可追溯事件当天),可在Windows Server 2008 R2 64位系统及以上操作系统安装和运行。
《Windows文件系统审计工具——File_System_Auditor2.53深度解析》 在IT管理领域,特别是企业网络环境中,确保数据安全与合规性至关重要。File_System_Auditor是一款专门针对Windows文件系统的审计工具,其最新版本...
善用工具,图片隐写工具Free_File_Camouflage最新版
【file_put_contents函数详解】 `file_put_contents`是PHP中的一个内置函数,用于将数据写入文件。这个函数可以非常方便地实现文件的创建、读取和修改。其基本语法如下: ```php int file_put_contents(string $...
《文件分割与合并:深入理解FILE_CUT.rar_Splitter_file c_file c_filecut_split工具》 在数字化信息时代,大文件的传输和管理成为一项挑战。为了应对这一问题,各种文件分割工具应运而生,例如我们今天要讨论的...
《Http_File_Server:简易HTTP文件服务器的探索与应用》 Http_File_Server,正如其名,是一款轻量级的HTTP文件服务器软件,专为快速搭建个人文件分享或测试环境而设计。这款工具以其简单易用的特性深受用户喜爱,...
### Oracle 10g中的db_recovery_file_dest与log_archive_dest详解 #### 一、概述 在Oracle 10g数据库管理中,为了确保数据的安全性和完整性,合理的配置归档策略至关重要。本文主要针对两个重要的参数——`db_...
swf_file_format_spec_v9.pdf swf_file_format_spec_v9.pdf swf_file_format_spec_v9.pdf swf_file_format_spec_v9.pdf
此外,还提供了一个名为`setFile_name(String file_name)`的setter方法。该方法接收一个`String`类型的参数,并将其赋值给成员变量`file_name`。这种封装方式确保了对`file_name`变量的访问和修改都经过了适当的控制...
原文链接:https://blog.csdn.net/m0_37814112/article/details/122538085 说明:基于file_sd_configs部署blackbox-exporter监控k8s服务
在Oracle 9i数据库系统中,`UTL_FILE_DIR`参数是用于控制PL/SQL程序在执行时可以访问的文件目录的重要配置项。这个参数的设置对于实现数据的读写操作、日志记录以及与其他文件系统的交互至关重要。下面将详细探讨...
《群晖File Station API指南》是Synology公司提供的一份技术文档,主要针对希望与群晖NAS设备进行接口对接的开发者。这份文档包含了Synology File Station的官方API接口信息,允许开发者通过编程方式来实现对群晖...
《文件合并工具——file_merger1.0详解》 在日常工作中,我们常常需要将多个文件整合到一个文件中,以方便管理和传输。"file_merger1.0.rar"是一个专门用于文件合并的实用工具,其核心功能是将一系列特定格式命名的...