搜索文件内重名的文件(OC)

自定义要查找的重名文件的后缀,并做筛选

NSFileManager *fileManager = [NSFileManager defaultManager];

NSError *error = nil;

NSArray *fileList = [[NSArray alloc] init];

//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组

fileList = [fileManager subpathsOfDirectoryAtPath:@"/Users/hb/Desktop/Teld Ver3.0.0/Teld/imageResource" error:&error];

for (int i = 0; i < fileList.count; i ++) {

NSString *str1 = fileList[i];

if ([str1 containsString:@"/"]) {

NSString *temp1 = [str1 componentsSeparatedByString:@"/"].lastObject;

if ([temp1 containsString:@".png"] && ![str1 containsString:@"AMap.bundle/"]) {

for (int j = i+1; j < fileList.count; j ++) {

NSString *str2 = fileList[j];

NSString *temp2 = [str2 componentsSeparatedByString:@"/"].lastObject;

if ([temp1 isEqualToString:temp2]) {

NSLog(@"%@",temp1);

}}}}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中实现文件上传不重名的方法有多种方式,下面介绍两种常见的方法。 第一种方法是通过在文件名后添加随机字符串或时间戳来确保文件重名。可以使用`java.util.UUID`生成唯一的随机字符串,或使用`java.time`包中的相关获取当前时间戳作为文件名的一部分。示例如下: ```java import java.util.UUID; String originalFileName = "example.txt"; String fileExtension = originalFileName.substring(originalFileName.lastIndexOf(".")); String newFileName = UUID.randomUUID().toString() + fileExtension; // 上传新文件,使用newFileName作为文件名 ``` 第二种方法是使用文件名的哈希值作为文件名的一部分。可以使用`java.security.MessageDigest`来计算文件名的哈希值,然后将其与原始文件名拼接成新的文件名。示例如下: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; String originalFileName = "example.txt"; String fileExtension = originalFileName.substring(originalFileName.lastIndexOf(".")); String hash = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(originalFileName.getBytes()); byte[] digest = md.digest(); StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(Integer.toHexString((b & 0xFF) | 0x100).substring(1, 3)); } hash = sb.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } String newFileName = hash + fileExtension; // 上传新文件,使用newFileName作为文件名 ``` 以上是两种常见的实现方式,可以根据具体的需求选择适合的方法来确保文件上传不重名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值